python爬虫之小说网站--下载小说(正则表达式)

python爬虫之小说网站--下载小说(正则表达式),第1张

概述python爬虫小说网站--下载小说(正则表达式)思路:1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/2447.html)2.分析自己要得到的内容,首先分析url,发现只有后面的是变化的,先获得小说的没有相对路径,然后组合成新的url(每章小说的url)3.获得每章小说的内容,进行美化处理 代码如下:#小说爬虫import requestsimport reurl='https://www.kanunu8.com/book4/10509/'#因为编码原因,先获取二进制内容再进行解码txt=requests.get(url).content.decode('gbk') #当前小说编码为"gbk2312"m1=re.compile(r'<td colspan="4" align="center"><strong>(.+)</strong>')#print(m1.findall(txt))m2=re.compile(r'<td( width="25%")?><a href="(.+.html)">(.+)</a></td>')#print(m2.findall(txt))raw=m2.findall(txt) #获得小说的目录以及对应的每个章节的相对路径sanguo=[]for i in raw:sanguo.append([i[2],url+i[1]]) #生成每个章节的url#print(sanguo)m3=re.compile(r'<p>(.+)</p>',re.S) #每章节小说内容m4=re.compile(r'<br />') #<br />小说内容中的符号m5=re.compile(r'&nbsp;&nbsp;&nbsp;&nbsp;')with open('中国合伙人1.txt','a') as f:for i in sanguo:i_url=i[1] #i[1]为小说章节urlprint("正在下载----->",i[0]) #i[0]为小说章节目录r_nr=requests.get(i_url).content.decode('gbk')n_nr=m3.findall(r_nr)#print(n_nr)n=m4.sub('',n_nr[0]) #把n_nr[0]中"<br />"替换为空n2=m5.sub('',n)f.write('n'+i[0]+'n') #把小说的目录写入文件f.write(n2)运行效果如下:保存的内容如下: 

=txt=requests.get(url).content.decode() m1=re.compile(rm2=re.compile(rhref="(.+\.HTML)">(.+)raw=m2.findall(txt) sanguo= i 2],url+i[1]])

<span >#<span >print(sanguo)
<span >
m3=re.compile(r<span >'<span >

(.+)

<span >'
,re.S) <span >#
<span >每章节小说内容

m4=re.compile(r<span >'
<span >
<span >'
) <span >#
<span >
小说内容中的符号

m5=re.compile(r<span >'
<span >&nbsp;&nbsp;&nbsp;&nbsp;
<span >'
<span >)
with open(
<span >'
<span >中国合伙人1.txt
<span >'
,<span >'
<span >a
<span >'
<span >) as f:
<span >for
i <span >in
<span > sanguo:
i_url
=i[1] <span >#
<span >i[1]为小说章节url

<span >print
(<span >"
<span >正在下载----->
<span >"
,i[0]) <span >#
<span >i[0]为小说章节目录

r_nr=requests.get(i_url).content.decode(<span >'
<span >gbk
<span >'
<span >)
n_nr
=<span >m3.findall(r_nr)
<span >#<span >print(n_nr)
n=m4.sub(<span >'',n_nr[0]) <span >#<span >把n_nr[0]中"
"替换为空
n2=m5.sub(<span >''<span >,n)
f.write(<span >'<span >\n<span >'+i[0]+<span >'<span >\n<span >') <span >#<span >把小说的目录写入文件
f.write(n2)

运行效果如下:

保存的内容如下:

总结

以上是内存溢出为你收集整理的python爬虫之小说网站--下载小说(正则表达式)全部内容,希望文章能够帮你解决python爬虫之小说网站--下载小说(正则表达式)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存