20行Python代碼實現爬取起點小說


相信在座各位應該沒有幾個不看小說的吧,嘿嘿~
在這里插入圖片描述
一般來說咱們書荒的時候怎么辦?自然是去起某點排行榜先找到小說名字,然后再找度娘一搜,哎 ,筆趣閣就出來答案了,美滋滋~

在這里插入圖片描述
但是那多麻煩,咱們直接用python,直接全部下載下來慢慢看不就好了~
小孩子才做選擇,成年人選擇都要…


好了,不啰嗦了,等下大家要罵我了~

准備工作

環境模塊

咱們沒裝軟件的裝一下軟件,沒裝模塊的裝一下模塊,軟件我就不講了。

模塊咱們用到的是這兩個模塊,需要安裝一下。

requests   # 發送請求
re     # 正則表達式模塊

 # Python學習交流群  815624229

#  軟件和安裝教程等等各種資料都在這里了

 

pip install 模塊名 安裝即可

目標地址

https://read.qidian.com/chapter/3i-t4PVRihdwe0zGvdPFgA2/djLVNZuVg7eaGfXRMrUjdw2/


大家可以自己換,我這里以它為例。

爬蟲流程

爬蟲的流程基本都是這幾步,我這里不詳細講解了,以前的文章有些講過。

1. 發送請求
2. 獲取數據
3. 解析數據
4. 保存數據

完整代碼

import requests     # 發送請求
import re

# 偽裝
headers = {
    'cookie': '_yep_uuid=b1421b7f-11da-b15f-a3ad-95316478f93c; e1=%7B%22pid%22%3A%22qd_P_read%22%2C%22eid%22%3A%22%22%2C%22l1%22%3A3%7D; e2=%7B%22pid%22%3A%22qd_P_read%22%2C%22eid%22%3A%22%22%2C%22l1%22%3A3%7D; newstatisticUUID=1648708045_1995757040; _csrfToken=mAWbsvESMNwir4NfKBy5fy8RedwvNBabTq3PLx6r; fu=721555856; _gid=GA1.2.1193345906.1648708045; e1=%7B%22pid%22%3A%22qd_p_qidian%22%2C%22eid%22%3A%22qd_A18%22%2C%22l1%22%3A3%7D; e2=; qdrs=0%7C3%7C0%7C0%7C1; showSectionCommentGuide=1; qdgd=1; rcr=1031788647%2C1031920667; bc=1031920667%2C1031788647; pageOps=1; lrbc=1031788647%7C686160165%7C0%2C1031920667%7C695153167%7C1; _ga_FZMMH98S83=GS1.1.1648708044.1.1.1648708759.0; _ga_PFYW0QLV3P=GS1.1.1648708044.1.1.1648708759.0; _ga=GA1.2.777546916.1648708045',
    'referer': 'https://book.qidian.com/',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36',
}
url = 'https://book.大家自己改一下,看了准備工作就知道了.com/info/1031920667/#Catalog'
html_data = requests.get(url=url, headers=headers).text
info_list = re.findall('<h2 class="book_name"><a href="(.*?)" target="_blank" data-eid=".*?" data-cid=".*?" alt=".*?" title=".*?">(.*?)</a></h2>', html_data)
for link, title in info_list:
    link = 'https:' + link
    # print(link, title)
    # 1. 發送請求
    response = requests.get(url=link, headers=headers)
    # 2. 獲取數據
    link_data = response.text
    # print(html_data)
    # 3. 解析數據
    # 網頁標簽 <p></p> <a></a> <div></div> <img />
    # <div class="read-content j_readContent" id=".*?">(.*?)</div>
    text = re.findall('<div class="read-content j_readContent" id=".*?">(.*?)</div>', link_data, re.S)[0]
    text = text.replace('<p>', '\n')
    text = title + '\n\n' + text
    print(text)
    # 4. 保存數據
    with open('網戀女友竟是九天神凰.txt', mode='a', encoding='utf-8') as f:
        f.write(text)

 

兄弟們快去試試吧


免責聲明!

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



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