国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python制作爬蟲采集小說

2020-01-04 17:58:12
字體:
來源:轉載
供稿:網友

本文給大家分享的是使用Python制作爬蟲采集小說的代碼,非常的簡單實用,雖然還是有點瑕疵,大家一起改改,共同進步

開發工具:python3.4

操作系統:win8

主要功能:去指定小說網頁爬小說目錄,按章節保存到本地,并將爬過的網頁保存到本地配置文件。

被爬網站:http://www.cishuge.com/

小說名稱:靈棺夜行

代碼出處:本人親自碼的

 

 
  1. import urllib.request 
  2. import http.cookiejar 
  3.  
  4. import socket 
  5. import time 
  6. import re 
  7.  
  8. timeout = 20 
  9. socket.setdefaulttimeout(timeout) 
  10.  
  11. sleep_download_time = 10 
  12. time.sleep(sleep_download_time) 
  13.  
  14. def makeMyOpener(head = { 
  15. 'Connection''Keep-Alive'
  16. 'Accept''text/html, application/xhtml+xml, */*'
  17. 'Accept-Language''en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3'
  18. 'User-Agent''Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko' 
  19. }): 
  20. cj = http.cookiejar.CookieJar() 
  21. opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) 
  22. header = [] 
  23. for key, value in head.items(): 
  24. elem = (key, value) 
  25. header.append(elem) 
  26. opener.addheaders = header 
  27. return opener 
  28.  
  29. def saveFile(save_path,txts): 
  30. f_obj = open(save_path,'w+'
  31. for item in txts: 
  32. f_obj.write(item+'/n'
  33. f_obj.close() 
  34.  
  35. #get_code_list 
  36. code_list='http://www.cishuge.com/read/0/771/' 
  37. oper = makeMyOpener() 
  38. uop = oper.open(code_list,timeout=1000) 
  39. data = uop.read().decode('gbk','ignore'
  40.  
  41. pattern = re.compile('<li><a href="(.*?)".*?>(.*?)</a></li>',re.S) 
  42.  
  43. items = re.findall(pattern,data) 
  44.  
  45. print ('獲取列表完成'
  46. url_path='url_file.txt' 
  47.  
  48. url_r=open(url_path,'r'
  49. url_arr=url_r.readlines(100000) 
  50. url_r.close() 
  51. print (len(url_arr)) 
  52.  
  53. url_file=open(url_path,'a'
  54.  
  55. print ('獲取已下載網址'
  56.  
  57. for tmp in items: 
  58. save_path = tmp[1].replace(' ','')+'.txt' 
  59. url = code_list+tmp[0] 
  60. if url+'/n' in url_arr: 
  61. continue 
  62. print('寫日志:'+url+'/n'
  63. url_file.write(url+'/n'
  64. opene = makeMyOpener() 
  65. op1 = opene.open(url,timeout=1000) 
  66. data = op1.read().decode('gbk','ignore'
  67. opene.close() 
  68. pattern = re.compile('(.*?)<br />',re.S) 
  69. txts = re.findall(pattern,data) 
  70. saveFile(save_path,txts) 
  71.  
  72. url_file.close() 

雖然代碼還是有點瑕疵,還是分享給大家,一起改進

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 图片| 温州市| 榆社县| 兴隆县| 东平县| 东港市| 霸州市| 建湖县| 临泽县| 丹棱县| 十堰市| 平安县| 新邵县| 木兰县| 喀喇| 锡林郭勒盟| 新建县| 揭阳市| 西华县| 洱源县| 裕民县| 江城| 盐山县| 青铜峡市| 磐石市| 灵台县| 双牌县| 建宁县| 竹北市| 和平县| 本溪市| 上饶县| 南丹县| 五家渠市| 额济纳旗| 准格尔旗| 太仆寺旗| 邹平县| 旌德县| 洛宁县| 察雅县|