作为一个小说爱好者,我经常使用网络爬虫爬取喜欢的网络小说。每次都从头开始写爬取程序,实在没有必要。鉴于上述情况,本文对网络小说的爬取流程进行了简单的提炼。
安装需要的包
工欲善其事,必先利其器。Python提供了丰富的第三方工具包,我们可以借助这些包来爬虫网络小说。
本文主要使用了Requests和Beautiful Soup包,前者用于获取网页源码,后者用于解析网页数据。
接下来,我们来看看如何安装这两个包:
- 对于Windows系统,在命令行(按下
Win+R键
可以打开运行窗口,输入cmd
即可进入命令行界面)中分别输入如下命令:
1 | 安装Requests |
- 对于Linux/macOS,只需将上述的
pip
替换为pip3
即可。
爬取网页内容
为了获取网页的源码,我们需要向网页发送一次HTTP GET请求。
为了使用Requests包,必须在源文件中先导入该包:
1 | import requests |
在Requests中,发送GET请求需要使用requests.get方法,其方法签名如下:
1 | # 返回值为requests.Response类型 |
封装爬取方法:
1 | def get_html(url: str) -> requests.Response: |
解析网页数据
Beautiful Soup提供了BeautifulSoup类,该类中最强大的方法为select
,其方法签名如下:
1 | # 返回值为list[bs4.element.Tag] |
1 | def parse_html(text: str, selector: str) -> list: |
具体代码
1 | import requests |