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