前面介绍了发送HTTP请求获取服务器返回的数据、数据通过re库进行数据提取。这节就写一个小案例,爬一下boss直聘中关于爬虫的招聘信息。
打开boss直聘官网,输入爬虫,点击搜索按钮。
![](https://img.haomeiwen.com/i13981000/c4277021689fdbb8.png)
进入到列表页面,点击第二页,第三页等等,观察url路径的变化,可以发现page=2就是第二页,后面的那个ka=page-2没什么用,
![](https://img.haomeiwen.com/i13981000/77551eec7b4b1c76.png)
记录一下url地址,然后使用urllib.request模块,发送一个HTTP请求,测试一下是否是我们需要的数据。
![](https://img.haomeiwen.com/i13981000/d41b7755bfea8ce4.png)
这个页面的HTML里面,需要的数据只有招聘的信息,<div class="job-primary">...</div>标签中的数据就是一条招聘信息。
![](https://img.haomeiwen.com/i13981000/15064617a2f69220.png)
接下来使用正则表达式进行匹配,先获取整个<ul>,然后再批量获取<li>:
![](https://img.haomeiwen.com/i13981000/27ccb9ef30eeefac.png)
接下来根据每一个<li>,提取有价值的信息,保存到一个模型类中,并且统一存放到一个列表里:
![](https://img.haomeiwen.com/i13981000/74c3774d148abce8.png)
![](https://img.haomeiwen.com/i13981000/1e0d2d08d5f1e8f2.png)
接下来需要将提取的数据写入本地,这里使用写入到记事本中:
![](https://img.haomeiwen.com/i13981000/7a9a449229fd28c2.png)
运行程序,在文件的当前目录中,就会有招聘信息
![](https://img.haomeiwen.com/i13981000/763c94f46100c954.png)
随便打开一个文本文件,查看一下里面的内容,
![](https://img.haomeiwen.com/i13981000/34c12390126d6e33.png)
到此Boss直聘上有关爬虫的招聘信息,抓取完毕。
网友评论