爬去起点中文网小说
爬取《起點》中文網 免費小說
前言: 第一次寫這么復雜的程序,歡迎各位大佬批評指正。。
第一步,檢查網頁的response響應,通過打開NETwork發現起點中文網的有Referer反爬,
2.通過調試和分析數據 發現我們要的數據是嵌套在html里面的,我們利用xpath提取出我們想的每一部小說的url 和名字
3.我們拿到了 每一頁中的所有的小說url 下一步就是提取小說的入口 通過分析得知 小說的入口也是嵌套html里面的
4.分析小說文本的數據
import requests
from lxml import etree
from fake_useragent import FakeUserAgent
if name == ‘main’:
for i in range(int(input(‘輸入爬取的頁說(一頁是二十本小說)>>>>>>:’))):
# 確定目標的url——
url_ = f’https://www.qidian.com/free/all?orderId=&vip=hidden&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=1&page={i + 1}’
# 構造身user身份
user = FakeUserAgent().random
headers_ = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36’,
‘Cooie’: ‘e1=%7B%22pid%22%3A%22qd_P_free%22%2C%22eid%22%3A%22qd_C44%22%7D; e2=%7B%22pid%22%3A%22qd_P_free%22%2C%22eid%22%3A%22qd_C44%22%7D; csrfToken=Bf8rW9wM2hTvLVvBKEeorxq58HVuMaROuzWo9N2E; newstatisticUUID=1610114709_606719731; yep_uuid=325a69ff-672a-68c2-ed48-6e113af5cb65; qdrs=0%7C3%7C0%7C0%7C1; showSectionCommentGuide=1; qdgd=1; e1=%7B%22pid%22%3A%22qd_P_limitfree%22%2C%22eid%22%3A%22qd_E01%22%2C%22l1%22%3A4%7D; e2=%7B%22pid%22%3A%22qd_P_limitfree%22%2C%22eid%22%3A%22qd_A18%22%2C%22l1%22%3A3%7D; bc=1021516016%2C1017918245%2C1025325411%2C1024892080; lrbc=1025325411%7C625665811%7C0%2C1024892080%7C613857996%7C0%2C1021516016%7C630782911%7C1; rcr=1025325411%2C1024892080%2C1017918245%2C1021516016’,
‘Referer’: ‘https://book.qidian.com/’
}
# 發送請求得到響應
res = requests.get(url, headers=headers_).text
data_ = etree.HTML(res_)
# 提取每一本小說對應的url
url_list = data_.xpath(’//div[@class=“book-mid-info”]/h4/a/@href’)
a = []
for k in url_list:
j = ‘http:’ + k
a.append(j)
總結
- 上一篇: 【经验分享】Web前端开发测试常见问题总
- 下一篇: Java基础练习