2024年python数据分析实例:利用爬虫获取数据_爬虫爬取网站数据并分析,2024年最新腾讯面试编程题

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

我们在工作中用到网络上发布的各种信息,如果用搜索引擎查找并整理,需要花费大量时间,现在python能够帮助我们,使用爬虫技术,提高数据查找和整理的效率。

我们来找一个爬虫的案例——抓取求职招聘类网站中的数据。使用环境:win10+python3+Juypter Notebook

第一步:分析网页

第一步:分析网页

要爬取一个网页,首先分析网页结构。

现在很多网站都用Ajax(异步加载)的技术,打开网页,先给你看上面一部分东西,然后剩下的东西再慢慢加载。所以你可以看到很多网页,都是慢慢的刷出来的,或者有些网站随着你的移动,很多信息才慢慢加载出来。这样的网页有个好处,就是网页加载速度特别快。

但这个技术是不利于爬虫的爬取的,我们可以借助chrome浏览器的小工具进行分析,进入网络分析界面,界面如下:
在这里插入图片描述
这时候是一片空白,我们刷新一下,就可以看到一系列的网络请求了。
在这里插入图片描述
然后我们就开始找可疑的网页资源。首先,图片,css什么之类的可以跳过,一般来说,关注点放在xhr这种类型请求上,如下:
在这里插入图片描述
这类数据一般都会用json格式,我们也可以尝试在过滤器中输入json,来筛选寻找。
在这里插入图片描述

上图发现了两个xhr请求,从字面意思看很有可能是我们需要的信息,右键点击,在另一个界面打开。

我们可以在右边的框中,切换到“Preview”,然后点content——positionResult查看,能看到是关于职位的信息,以键值对的格式呈现,这就是json格式,特别适合网页数据交换。

第二步,网址构造

在“Headers”中,看到网页地址,通过观察网页地址可以发现推测出:http://www.lagou.com/jobs/positionAjax.json?这一段是固定的,剩下的我们发现有个city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false&isSchoolJob=0

再查看请求发送参数列表,到这里我们可以肯定city参数便是城市,pn参数便是页数,kd参数便是职位关键字。

再来看看关于职位,一共有30页,每页有15个数据,所以我们只需要构造循环,遍历每一页的数据。

第三步,编写爬虫脚本写代码

需要说明的是因为这个网页的格式是用的json,那么我们可以用json格式很好的读出内容。这里我们切换成到preview下,然后点content——positionResult——result,可以发现出先一个列表,再点开就可以看到每个职位的内容。为什么要从这里看?有个好处就是知道这个json文件的层级结构,方便等下编码。

具体代码展示:

import requests,json
from openpyxl import Workbook

#http请求头信息
headers={
'Accept':'application/json, text/javascript, \*/\*; q=0.01',
'Accept-Encoding':'gzip, deflate, br',
'Accept-Language':'zh-CN,zh;q=0.8',
'Connection':'keep-alive',
'Content-Length':'25',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie':'user\_trace\_token=20170214020222-9151732d-f216-11e6-acb5-525400f775ce; LGUID=20170214020222-91517b06-f216-11e6-acb5-525400f775ce; JSESSIONID=ABAAABAAAGFABEF53B117A40684BFB6190FCDFF136B2AE8; \_putrc=ECA3D429446342E9; login=true; unick=yz; showExpriedIndex=1; showExpriedCompanyHome=1; showExpriedMyPublish=1; hasDeliver=0; PRE\_UTM=; PRE\_HOST=; PRE\_SITE=; PRE\_LAND=https%3A%2F%2Fwww.lagou.com%2F; TG-TRACK-CODE=index\_navigation; Hm\_lvt\_4233e74dff0ae5bd0a3d81c6ccf756e6=1494688520,1494690499,1496044502,1496048593; Hm\_lpvt\_4233e74dff0ae5bd0a3d81c6ccf756e6=1496061497; \_gid=GA1.2.2090691601.1496061497; \_gat=1; \_ga=GA1.2.1759377285.1487008943; LGSID=20170529203716-8c254049-446b-11e7-947e-5254005c3644; LGRID=20170529203828-b6fc4c8e-446b-11e7-ba7f-525400f775ce; SEARCH\_ID=13c3482b5ddc4bb7bfda721bbe6d71c7; index\_location\_city=%E6%9D%AD%E5%B7%9E',
'Host':'www.lagou.com',
'Origin':'https://www.lagou.com',
'Referer':'https://www.lagou.com/jobs/list\_Python?',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'X-Anit-Forge-Code':'0',
'X-Anit-Forge-Token':'None',
'X-Requested-With':'XMLHttpRequest'
}


def get\_json(url, page, lang\_name):
 data = {'first': "true", 'pn': page, 'kd': lang\_name,'city':"北京"}

#POST请求
 json = requests.post(url,data,headers=headers).json()
 list\_con = json['content']['positionResult']['result']
 info\_list = []
for i in list\_con:
 info = []
 info.append(i['companyId'])
 info.append(i['companyFullName'])
 info.append(i['companyShortName'])
 info.append(i['companySize'])
 info.append(str(i['companyLabelList']))

 info.append(i['industryField'])
 info.append(i['financeStage'])

 info.append(i['positionId'])
 info.append(i['positionName'])
 info.append(i['positionAdvantage'])
# info.append(i['positionLables'])

 info.append(i['city']) 
 info.append(i['district'])
# info.append(i['businessZones'])

 info.append(i['salary']) 
 info.append(i['education']) 
 info.append(i['workYear']) 
 info\_list.append(info)
return info\_list



### 最后

> **🍅 硬核资料**:关注即可领取PPT模板、简历模板、行业经典书籍PDF。  
> **🍅 技术互助**:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。  
> **🍅 面试题库**:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。  
> **🍅 知识体系**:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值