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


 

Python爬取網絡小說,看書就用Python下載免費的就好了

什么是網絡爬蟲

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

環境:Python3.6+Windows

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

模塊:

1 import urllib.request
2 
3 import re

主要思路:

  • 1 獲取主頁源代碼

  • 2 獲取章節超鏈接

  • 3 獲取章節超鏈接源碼

  • 4 獲取小說內容

  • 5 下載,文件操作

Python爬取網絡小說,看書就用Python下載免費的就好了

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爬取網絡小說,看書就用Python下載免費的就好了

Python爬取網絡小說,看書就用Python下載免費的就好了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM