文章采集链接(网上看了一部小说,换个名字,居然要付费了)
优采云 发布时间: 2021-09-29 22:25文章采集链接(网上看了一部小说,换个名字,居然要付费了)
今天在网上看了一本小说。明明是很久以前的小说。我改了名字,我不得不付钱。我很不高兴。通过强大的百度,找到了原版。我很高兴,但我无法下载它。这很难。本来打算把它读下来,然后在我的手机上阅读。我别无选择,只能自己做采集,然后我就下来了;
导入 urllib.requestimport re
话不多说,先列出你需要的*敏*感*词*成一个好习惯,也容易别人理解;这个东西在行业里叫做驼峰命名法。
第一步,我们需要获取主页的源代码:
def getNoverContent():
这里我定义getNoverCotent的变量作为代码的核心部分,然后定义html变量
html = urllib.request.urlopen('目录地址').read()html = html.decode('gbk')
拿到html内容后,我们先打印出来看看是否检索成功
打印(html)
成功了可以把这行代码删掉或者注释掉,养成一个习惯,一步一步来,不容易出错:print(html)
第二部分是获取我们需要的那部分网页代码:
我们在网页上调出刚才页面的源码,找到你想要的部分的div采集。这里使用了正则表达式。不明白的可以自学,也可以找个时间写一篇常规文章的介绍;
请求 = r'
(.*?)'
他们之中。*? 这是一个通配符,匹配所有的内容,我们要的是在通配符外面加一个()
我们这里得到的是目录页的超链接和目录的内容
req = 桩(req)urls = re.findall(req,html)
urls变量的内容就是我们想要的超链接和目录内容,打出来看看?
打印(网址)
用完记得注释掉
第三部分,获取章节源码:
我们用一个for循环来完成这个功能
对于网址中的网址:
让我们打印出 url[0] 看看我们是否需要超链接
#打印(网址[0])
确认无误后,设置变量novel_urlnovel_url ='如果是部分超链接,在此处添加链接前端' + url[0]novel_title = url[1] chapt = urllib.request.urlopen(novel_url).read ()
设置编码,在哪里看编码?
这部分网页源码,可以看看是utf-8还是gbk
chapt_html = chapt.decode('gbk') #获取文章内容 req = r'
(.*?)
'#re.S 多行匹配
毕竟文章的内容还有很多行,这部分不能省了 req = pie(req,re.S) chapt_content = re.findall(req,chapt_html)
全部 采集 好的,输入并尝试一下?
打印(章节内容)
章节内容
没问题,我们继续第三部分
第三步,另存为txt并导出:
with open("fiction name.txt", mode='a+',encoding='utf-8') as f:f.write(novel_title) f.write(chapt_content) f.write("\n")
最后记得加一行启动代码
如果 __name__ =='__main__':getNoverContent()
大功告成,可以把采集全部上传到手机上慢慢欣赏!
大部分代码显示