下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
__author__ = 'zouxiaoliang' import urllib import re import os import codecs def getBookMemu(url_path): menu_patten = '<dd>.*?</dd>' url_chapter = '<dd><a href="(.*)">(.*)</a></dd>' thePage = urllib.urlopen(url_path) page = str(thePage.read()).decode('gbk') menu_list = re.findall(menu_patten,page) menu = dict() # map<url,chapter> for chapter in menu_list: g = re.match(url_chapter,chapter) if g: menu[url_path+g.group(1)] = g.group(2) return menu pass; def getContent(url_path): cc = str() thePage = urllib.urlopen(url_path) page = str(thePage.read()).decode('gbk') # print(page) c_patten = '<div id="content">(.*)</div>' g = re.search(c_patten,page) if g: cc = g.group(1) # print(cc) cc = re.sub(' ','',cc) cc = re.sub('<br /><br />','\n',cc) # print(cc) return cc pass def writeFile(dirname,filename,content): w_handle = codecs.open(dirname+'//'+filename+".txt",mode='wb',encoding='utf8') w_handle.write(content) w_handle.close() pass if __name__ == '__main__': m = getBookMemu('http://www.biquge.la/book/14/') for c in m.keys(): url = c name = m[c] print('%s,%s' %(url,name)) while True: try: cc = getContent(url) # print(cc) if not os.path.exists('biquge'): os.mkdir('biquge') writeFile('biquge',name,cc) break except: continue print("get book over")
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。