失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 通过学习Python+request 爬取《雪中悍刀行》小说

通过学习Python+request 爬取《雪中悍刀行》小说

时间:2020-05-13 21:37:20

相关推荐

通过学习Python+request 爬取《雪中悍刀行》小说

@TOC获取雪中悍刀行的小说章节

1.获取雪中悍刀行的小说网址:/0/761/

先获取需要爬取小说的网址,然后再在当前页面中解析,它每一章的具体后缀网址信息和章节名称

base_url = '/0/761/'Headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:76.0) Gecko/0101 Firefox/76.0'}response1 = requests.get(base_url,headers=Headers)text1 = response1.content.decode('gbk')html1 = etree.HTML(text1)api_urls = html1.xpath('//*[@id="list"]/dl/dd/a/@href')booknames = html1.xpath('//*[@id="list"]/dl/dd/a/text()')

2.获取到的booknames是一个列表,我们可以通过循环该列表,然后依次爬取每一章的具体小说内容,然后再处理一下获取到的文本

for i in range(len(api_urls)):api_url = api_urls[i]bookname = booknames[i]url = base_url + api_url# print(url ,bookname)response = requests.get(url, headers=Headers)text = response.content.decode('gbk')html = etree.HTML(text)contexts = html.xpath("//div[@id='content']/text()")context = str(contexts)content = context.replace('\\xa0\\xa0\\xa0\\xa0', ' ')contents = content.replace('\',', ' ')

3.再降处理后的小说文本内容保存到对应的txt文件中

try:# with open('%s.txt'%bookname,"wb") as f:while os.path.exists('%s.txt'%bookname): #判断是否已经存在该文件名称breakelse:with open('%s.txt' % bookname, "wb") as f:print(bookname)f.write(contents.encode())f.close()time.sleep(0.01)except Exception as e:print(e)continue

总结:

作为爬虫的初学者,先简单的爬取一下静态页面的小说,这一部分还是比较简单的。就我而言,现在还处在初入门的阶段,通过不断学习,增强自己的知识。

如果觉得《通过学习Python+request 爬取《雪中悍刀行》小说》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。