前面介绍了发送HTTP请求获取服务器返回的数据、数据通过re库进行数据提取。这节就写一个小案例,爬一下boss直聘中关于爬虫的招聘信息。
打开boss直聘官网,输入爬虫,点击搜索按钮。

进入到列表页面,点击第二页,第三页等等,观察url路径的变化,可以发现page=2就是第二页,后面的那个ka=page-2没什么用,

记录一下url地址,然后使用urllib.request模块,发送一个HTTP请求,测试一下是否是我们需要的数据。

这个页面的HTML里面,需要的数据只有招聘的信息,<div class="job-primary">...</div>标签中的数据就是一条招聘信息。

接下来使用正则表达式进行匹配,先获取整个<ul>,然后再批量获取<li>:

接下来根据每一个<li>,提取有价值的信息,保存到一个模型类中,并且统一存放到一个列表里:


接下来需要将提取的数据写入本地,这里使用写入到记事本中:

运行程序,在文件的当前目录中,就会有招聘信息

随便打开一个文本文件,查看一下里面的内容,

到此Boss直聘上有关爬虫的招聘信息,抓取完毕。
网友评论