快速爬取腾讯招聘信息

目标网站:https://careers.tencent.com/search.html?pcid=40001

目标数据:爬取前10页招聘信息中的岗位名称、工作职责、工作要求

 

准备工作:先看下目标数据的获取方式,是从页面的HTML中获取还是从接口中直接获取。

                  通过对网站的分析,发现需要的数据是来自接口。如下图所示:

 

话不多说,直接上代码:

import requests
import json


headers={
	"user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36"
}


def main(url):
	response=requests.get(url,headers=headers)

	#将json字符串转字典
	jsonDic=json.loads(response.text)

	result=jsonDic["Data"]["Posts"]

	for x in result:
		postID=x["PostId"]
		postUrl="https://careers.tencent.com/tencentcareer/api/post/ByPostId?postId="+postID #构造详情页url
		resDetail=requests.get(postUrl,headers=headers)

		jsonDicDetail=json.loads(resDetail.text) #将json字符串转字典

		# 获取需要的信息
		RecruitPostName=jsonDicDetail["Data"]["RecruitPostName"]  #岗位名称
		Responsibility=jsonDicDetail["Data"]["Responsibility"]  #工作职责
		Requirement=jsonDicDetail["Data"]["Requirement"] #工作要求

		print("岗位名称: "+RecruitPostName+"\n")
		print("工作职责: "+Responsibility+"\n")
		print("工作要求: "+Requirement+"\n")
		print("------------------------------------------------------------------")




if __name__ == '__main__':
	# 构造请求url
	url="https://careers.tencent.com/tencentcareer/api/post/Query?pageIndex="
	for i in range(1,11):
		main(url+str(i)+"&pageSize=10")



执行结果:

这样就获取到了目标信息。

 

声明:以上数据仅作为爬虫学习,不做任何其他用途。

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值