介绍
小白,懂得不多,随便分享一下自己写的
只写了这个小说站点:https://www.qb5.tw
因为很多网站html标签不一样,我只适配写了这个,如有想要爬取的站点,可以联系我,我试试(尽量,我小白)
修改
下面代码里面都标注了,你自己看看,不懂的可以联系博主
(仅限www.qb5.tw
站点章节链接)
获取文章链接
如果正则表达式,内容没有替换成功,可以Ctrl
+h
,一键替换文本里面内容
效果
代码
"""
我就写了这个站点:www.qb5.tw
那按道理也只能爬这个网站
其他站点没去测试
"""
import requests
import re
novel = input('请输入你想要下载小说链接(仅支持www.qb5.tw):')
name = input('请输入你保存小说名字')
chapter = novel
data = requests.get(chapter).text # 获取网页内容
info_list = re.findall('<dd><a href="(.*?)">(.*?)</a></dd>',data) # re正则表达式,获取链接,小说标题
for info in info_list: # for循环
sub_url = (info[0]) # 取小说url
title = (info[1]) # 取小说标题
url = novel + sub_url # 小说链接,需要爬取其他的小说,在这里改一下(就写了这个站点,www.qb5.tw)其他网站没去测试
res = requests.get(url,).text # 取网页内容
text= re.findall('<div id="content">.*?</div>',res)[0] # 正则表达式取小说内容
text = title +'\n\n\n\n'+ text.replace('<div id="nr1"> 全本小说网 www.qb5.tw,最快更新<a href="https://www.qb5.tw/book_116659/">',' ').replace('<div id="content"> 全本小说网 www.qb5.tw,最快更新',' ').replace('&nbs... -->><br><center class="red">本章未完,点击下一页继续阅读</center>',' ').replace('新书上传,希望大家可以先收藏、推荐,正式连载将于5月20号。',' ').replace('本章未完,点击下一页继续阅读</center>',' ').replace(' -->><br><center class="red">','').replace('<br ... -->><br><center class="red">本章未完,点击下一页继续阅读</center>',' ').replace('<div id="nr1"> ','').replace('<br />','\n').replace(' ',' ').replace('每日更新:暂定每天上午10点左右一章、12点左右一章。 </div>',' ').replace(' <br><br>',' ').replace('宇宙职业选手</a>最新章节!<br><br> ','').replace(' ','').replace('</div>',' ').replace('...','\n\n\n\n')
# 正则表达式,替换不需要的内容(标签、广告、html标签)
# print(text)
open(f'{name}.txt',mode='a',encoding='utf-8').write(text)
# 写入文件,编码,这里可以自定义文件名字
print('下载成功√'+'\t'+title )
#输出打印
评论 (0)