admin 管理员组

文章数量: 1184232


2024年4月13日发(作者:网站建设需求模板)

阅读目录

一、爬取和分析相关依赖包

二、分析网页结构

三、数据清洗后入库

四、数据可视化展示

五、爬虫及可视化完整代码

爬取拉勾网关于python职位相关的数据信息,并将爬取的数据已csv各式存入文件,然后对csv文件相关字段的数据进行清洗,并对数据可视化展

示,包括柱状图展示、直方图展示、词云展示等并根据可视化的数据做进一步的分析,其余分析和展示读者可自行发挥和扩展包括各种分析和不同

的存储方式等。。。。。

回到顶部

一、爬取和分析相关依赖包

一、爬取和分析相关依赖包

1.

Python版本: Python3.6

2.

requests: 下载网页

3.

math: 向上取整

4.

time: 暂停进程

5.

pandas:数据分析并保存为csv文件

6.

matplotlib:绘图

7.

pyecharts:绘图

8.

statsmodels:统计建模

9.

wordcloud、scipy、jieba:生成中文词云

10.

pylab:设置画图能显示中文

在以上安装或使用过程中可能读者会遇到安装或导入失败等问题自行百度,选择依赖包的合适版本

回到顶部

二、分析网页结构

二、分析网页结构

通过Chrome搜索'python工程师',然后右键点击检查或者F12,,使用检查功能查看网页源代码,当我们点击下一页观察浏览器的搜索栏的url并没有改

变,这是因为拉勾网做了反爬虫机制, 职位信息并不在源代码里,而是保存在JSON的文件里,因此我们直接下载JSON,并使用字典方法直接读取数据.

即可拿到我们想要的python职位相关的信息,

待爬取的python工程师职位信息如下:

为了能爬到我们想要的数据,我们要用程序来模拟浏览器来查看网页,所以我们在爬取的过程中会加上头信息,头信息也是我们通过分析网页获取

到的,通过网页分析我们知道该请求的头信息,以及请求的信息和请求的方式是POST请求,这样我们就可以该url请求拿到我们想的数据做进一步

处理

爬取网页信息代码如下:

import requests

url = ' /jobs/?needAddtionalResult=false'

def get_json(url, num):

"""

从指定的url中通过requests请求携带请求头和请求体获取网页中的信息,

:return:

"""

url1 = '/jobs/list_python%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88?labelWords=&fromSearch=true&

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139

'Host': '',

'Referer': '/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?labelWords=&fromSearch=true&suginpu

'X-Anit-Forge-Code': '0',

'X-Anit-Forge-Token': 'None',

'X-Requested-With': 'XMLHttpRequest'

}

data = {

'first': 'true',


本文标签: 网页 分析 信息 数据 展示