1. 程式人生 > >Python爬取全書網小說,免費看小說

Python爬取全書網小說,免費看小說

tle 3.6 tro con fin 保存 get 正在 url地址

技術分享圖片

什麽是網絡爬蟲

網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

環境:Python3.6+Windows

開發工具:你喜歡用哪個就用哪個,你開心就好!

模塊:

1 import urllib.request
2 
3 import re

技術分享圖片

主要思路:

  • 1 獲取主頁源代碼

  • 2 獲取章節超鏈接

  • 3 獲取章節超鏈接源碼

  • 4 獲取小說內容

  • 5 下載,文件操作

技術分享圖片

Python代碼了解一下

 1 import urllib.request
2 import re 3 # 1 獲取主頁源代碼 4 # 2 獲取章節超鏈接 5 # 3 獲取章節超鏈接源碼 6 # 4 獲取小說內容 7 # 5 下載,文件操作 8 9 # 駝峰命名法 10 # 獲取小說內容 11 def getNovertContent(): 12 # <http.client.HTTPResponse object at 0x000001DFD017F400> 13 html = urllib.request.urlopen("http://www.quanshuwang.com/book/0/269").read() 14 html = html.decode("
gbk") 15 # 不加括號 不匹配 16 # 正則表達式 .*? 匹配所有 17 reg = r<li><a href="(.*?)" title=".*?">(.*?)</a></li> 18 # 增加效率的 19 reg = re.compile(reg) 20 urls = re.findall(reg,html) 21 # print(urls) 22 # 列表 23 # [(http://www.quanshuwang.com/book/0/269/78850.html,第一章 山邊小村),
24 # (http://www.quanshuwang.com/book/0/269/78854.html,第二章 青牛鎮)] 25 for url in urls: 26 # 章節的URL地址 27 novel_url = url[0] 28 # 章節標題 29 novel_title = url[1] 30 31 chapt = urllib.request.urlopen(novel_url).read() 32 chapt_html = chapt.decode("gbk") 33 # r 表示原生字符串 \ \\d r"\d" 34 reg = r</script>&nbsp;&nbsp;&nbsp;&nbsp;(.*?)<script type="text/javascript"> 35 # S 代表多行匹配 36 reg = re.compile(reg,re.S) 37 chapt_content = re.findall(reg,chapt_html) 38 # print(chapt_content) 39 # 列表["&nbsp;&nbsp;&nbsp;&nbsp二楞子睜大著雙眼,直直望著茅草和爛泥糊成的<br />"] 40 41 # 第一個參數 要替換的字符串 替換後的字符串 42 chapt_content = chapt_content[0].replace("&nbsp;&nbsp;&nbsp;&nbsp;","") 43 # print(chapt_content) 字符串 二楞子睜大著雙眼,直直望著茅草和爛泥糊成的<br /> 44 chapt_content = chapt_content.replace("<br />","") 45 46 print("正在保存 %s"%novel_title) 47 # w 讀寫模式 wb 48 # f = open("{}.txt".format(novel_title),‘w‘) 49 # f.write(chapt_content) 50 51 with open("{}.txt".format(novel_title),w) as f: 52 f.write(chapt_content) 53 54 # f.close() 55 56 getNovertContent()

運行結果:

技術分享圖片

技術分享圖片

Python爬取全書網小說,免費看小說