正则表达式爬取十宗罪

正则爬取小说

首先找到要爬取的网站https://www.kanunu8.com/book/4514/
大名鼎鼎的十宗罪嘿嘿
首先f12看他的源码。惊奇的发现在这个页面里面保存了许多的后缀网页。将这些后缀拼到一起。就能访问正文的页面了。废话不多说,上代码:

from urllib import request
import re,os
url = 'https://www.kanunu8.com/book/4514/'
x = request.urlopen(url)
req = x.read()
html = req.decode('gbk')
newurl=[]
html=re.findall('href=\"\d*\.html\"',html)
for i in html:
    s=i.split('=')[1].replace('\"','')
    newurl.append(url+s)
s = 0
for i in range(len(newurl)+1):
    temp = request.urlopen(newurl[s])
    req = temp.read()
    html =req.decode('gbk')
    k=re.findall(r'<p>(.+)</p>',html,re.S)
    with open('十宗罪.txt','w+',encoding='gbk') as f_w:
        for i in k:
            f_w.write(i)
    s+=1

在爬取结束的时候会报错一下。
分析:本次的爬虫是使用了两个for循环。第一个循环用来拼接正文路径。第二个循环用来遍历正文的文本。先使用正则匹配文本然后遍历最后序列化存储到txt文本。这样就爬取成功了。
由于这是笔者的第一次爬虫成功的小说。所以有许多不足。例如爬取的是网页端的格式没有修改 导致留下了许多的
符号。笔者以后会继续努力的!一起加油吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值