网络爬虫所需第三方库简述
网络爬虫,简单来说,就是从竞赛提供的网页上自动抓取所需数据。不过,这项技术很容易触碰法律红线,正所谓“爬虫学得好,牢饭吃到饱”。如果你真的熟练掌握了这些库的使用,请务必不要用于任何违法用途。

好了,接着介绍吧。接下来对各个库的介绍来自网上的各类资料以及我自己的部分感想。可能存在不准确之处,请各位自行分辨。
requests库
这个库负责向网页服务器发送请求。对初学者来说,“发送请求”可能有点抽象——打个比方,它就像浏览器的“请求”功能:你输入网址,它返回页面内容。不过,它返回的是原始HTML 代码,人眼直接看不太懂,需要借助其他库(如 Xpath、BeautifulSoup)来解析。
bs4/Xpath库
上面提到,requests 拿到的网页信息我们看不懂,而 BeautifulSoup(bs4)和 Xpath就是用来解析这些信息的。继续用浏览器的例子:打开一个内容繁多的网页,我们想快速找到需要的信息,通常会使用浏览器的搜索功能(虽然很多人并不知道这个功能)。Xpath和 bs4 就相当于为 requests 定制的“搜索工具”,能从杂乱无章的 HTML中精准筛选出你要的内容。至于具体怎么用它们来定位数据,那是后面要讲的内容。
Pandas库
Pandas 在这里的主要用途是将收集到的数据写入文件(通常是 CSV 格式)。前三个模块中 Pandas
的用途很广,但我们这里只用到它的 CSV 写入功能。还是沿用之前的比喻:在浏览器里找到有用的数据后,我们怎么保存?一般人会复制粘贴到文档和表格里。而 CSV 就是一种简单的表格格式,非常适合程序自动保存数据。所以,当爬虫获取到所需数据后,就可以用 Pandas轻松地将它们写入 CSV 文件中。
如果将整个第一部分用思维导图表示,应该是下面这个样子的。
思维导图
$$
%%{init: { ‘theme’: ‘dark’ } }%%
graph LR
subgraph B[选手虚拟机]
direction LR
C[requests(响应解析)] –html网页–> D[bs4/xpath(数据获取)] –所需数据–> F[pandas(数据保存)]
end
subgraph A[竞赛服务器]
E[请求网页]
end
C –发送请求–> A
A –发送响应数据–> C
$$