当前位置:网站首页>初学爬虫-笔趣阁爬虫
初学爬虫-笔趣阁爬虫
2022-07-02 04:35:00 【weixin_43446292】
import requests
from lxml import etree
base_url=input(“请输入小说url:”) #如春日宴的url为https://www.xbiquge.la/20/20671/
headers={
“User-Agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0”
}
response=requests.get(base_url,headers=headers)
r=response.content.decode()
r1=etree.HTML #将字符串格式的 html 片段解析成 html 文档
r2=r1.xpath(‘//[@id=“info”]/h1/text()‘) #获取小说名字
r3=r1.xpath(’//[@id=“list”]/dl/dd/a/text()’) #获取小说每章标题
r4=r1.xpath(‘//[@id=“list”]/dl/dd/a/@href’) #获取每章节链接
r5=r1.xpath('//[@id=“info”]/p[1]/text()’) #获取作者名字
r6=r1.xpath(‘//[@id=“intro”]/p[2]/text()‘) #获取文案
r7=’‘.join(r5).split(’:‘)[1] #获取作者名字
chapter_list=[]
for i in r4:
url=“https://www.xbiquge.la”+i
chapter_list.append(url) #合成每章节的url
for i in r2:
title=’{}by{}.txt’.format(i,r7) #获取保存时txt的名字
content_list=[]
with open(title,“a”,encoding=“utf-8”) as f:
f.writelines(r6)
f.write(‘\n’)
for (x,y) in zip(chapter_list,r3):
response2=requests.get(x)
res=response2.content.decode()
res1=etree.HTML(res)
res3=res1.xpath('//[@id=“content”]/text()’) #获取每章节小说内容
f.writelines(y)#写入每章节的标题
f.write(‘\n’)
f.writelines(res3)#写入每章节的小说内容
f.write(‘\n’)
print(“{}采集完毕,共{}章节”.format(title,len(chapter_list)))
边栏推荐
- Markdown edit syntax
- [C language] Dynamic Planning --- from entry to standing up
- 【毕业季·进击的技术er】年少有梦,何惧彷徨
- [improvement class] st table to solve the interval maximum value problem [2]
- CorelDRAW Graphics Suite2022免费图形设计软件
- 【c语言】动态规划---入门到起立
- There is no prompt for SQL in idea XML, and the dialect setting is useless.
- Free drawing software recommended - draw io
- Several methods of capturing packets under CS framework
- A summary of common interview questions in 2022, including 25 technology stacks, has helped me successfully get an offer from Tencent
猜你喜欢

Social media search engine optimization and its importance

FAQ | FAQ for building applications for large screen devices

cs架构下抓包的几种方法

Actual combat | use composite material 3 in application

Fluent icon demo

Why can't you remember when reading? Why can't you remember- My technology learning methodology

社交媒体搜索引擎优化及其重要性

Yolov5网络修改教程(将backbone修改为EfficientNet、MobileNet3、RegNet等)

Li Kou interview question 02.08 Loop detection

office_ Delete the last page of word (the seemingly blank page)
随机推荐
Today's plan: February 15, 2022
Which insurance company has a better product of anti-cancer insurance?
Yyds dry inventory compiler and compiler tools
Target free or target specific: a simple and effective zero sample position detection comparative learning method
Shutdown procedure after 60
Unit testing classic three questions: what, why, and how?
10 minutes to understand CMS garbage collector in JVM
Wechat applet map annotation
【c语言】动态规划---入门到起立
C language practice - number guessing game
Its appearance makes competitors tremble. Interpretation of Sony vision-s 02 products
Free drawing software recommended - draw io
Recyclerview add header
okcc为什么云呼叫中心比传统呼叫中心更好?
WiFi 5GHz frequency
阿里云polkit pkexec 本地提权漏洞
Thinkphp內核工單系統源碼商業開源版 多用戶+多客服+短信+郵件通知
How much can a job hopping increase? Today, I saw the ceiling of job hopping.
缓存一致性解决方案——改数据时如何保证缓存和数据库中数据的一致性
Pytoch --- use pytoch to realize u-net semantic segmentation