使用python爬虫,requests(夹带BeautifulSoup的使用)爬取网络小说

本文介绍了使用Python的requests和BeautifulSoup库爬取网络小说的步骤,包括导入模块、设置headers避免反爬、正则匹配章节链接和标题、删除无关内容、保存到txt文件。
摘要由CSDN通过智能技术生成

使用python爬虫,requests(夹带BeautifulSoup的使用)爬取网络小说

由于本人也是初学者,算是小白一枚,这里跟大家分享一下爬取网站上的小说的过程。

第一步我们需要导入我们需要的模块,比如requests,BeautifulSoup,还有正则模块re。

import re
import requests
from bs4 import BeautifulSoup

然后我们需要找到我们需要爬取的网站,这里我选用了这个网站:*

http://www.tianxiabachang.cn

接下来就是我们需要爬出小说的html,随便在这个网站找到了一本小说,就比如说《雪中悍刀行》吧。

url = 'http://www.tianxiabachang.cn/7_7568/'
response = requests.get(url)
response.encoding = 'utf-8'
html = response.text

这样我们就能很简单的爬取到了这个小说的章节目录所在的html

但是很多时候网站都会有一定的反爬虫机制,访问几次之后我们所在的IP就会被封锁,所以我们就需要做一个简单的反反爬虫操作,那就是给你的get请求加上header,这个header可以在目标网页上找到。
在这里插入图片描述
比如这个就是之前我们网页的源码,(可以摁键盘上的F12或者右击鼠标点击检查,找到之后可以刷新一次)我们需要的是Request Headers下面的User-Agent,我们复制过来,然后就成了下面的情况。


header = {
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}   

直到目前为止我们爬取了《雪中悍刀行》的目录所在页的html了。

下一步就是找到我们爬取到的html,来进行正则处理,找到我们需要的从第一章到最后一章的所有内容

soup = BeautifulSoup(html,'html.parser')
one = soup.find("div",attrs={
   "id":"list"})

这样我们就得到了部分我们需要的内容:在这里插入图片描述
根据这个图片,我们可以从当中写出正则表达式

pattern1 = re.compile('<dd><a href="/7_7568/(.*?)">',re.S)
pattern2 = re.compile(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值