Python爬虫拉勾网岗位数据

583 阅读2分钟

这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

一、发送请求获取网页信息

(1)模拟浏览器头部信息,向服务器发送消息

(2)设置User-Agent属性:用户代理,告知服务器,我们是说明类型的机器

(3)向服务器发送请求时,使用try...except..进行超时处理,不能让爬取过程中出现的错误阻断爬虫的前进。

(4)使用"utf-8"编码方式进行编码和解码

获取取网页信息的核心代码如下

image.png

二、解析网页,获取目标信息

(1)使用BeautifulSoup来抓取需要的数据。BeautifulSoup是python的一个库,提供了一些理导航、搜索、修改分析树等功能,它通过解析文档为用户提供需要抓取的数据,使用简单,不需要很多代码就能写出一个完整的应用程序。

解析html的代码如下:

html = f.readlines()[0] soup = BeautifulSoup(html, "html.parser")

(2)为需要获取的数据,设置对应的正则表达式匹配网页数据

这次我们需要获取的数据有:职位名称、工作经验要求、学历要求、技能要求、薪资条件、工作城市、公司名称、行业领域、融资阶段、公司规模和公司优势。匹配这些数据的正则表达式如下:

image.png

(3)使用上一步的正则表达式匹配数据,对匹配到的数据再次进行组织,将数据按格式存储到一个列表中,匹配的代码如下:

image.png

这里我将数据存储到一个二维列表中,数据的组织如下:

image.png

三、存储爬取的数据

这里选择使用python中的sqlite数据库去保存爬取到的数据,它是一款非常小巧的嵌入式开源数据库软件,所有的维护都来自于程序本身,使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距,但是性能表现上,SQLITE并不逊色。 (1)创建数据库以及表格(设置好表格的属性字段),核心代码如下:

image.png

(2)将之前匹配到数据条条插入到上一步创建好的表格中,核心代码如下:

image.png