思路分析
特别说明
本文以Java工作岗位信息为例进行说明,如果想爬取其他岗位的信息,更改URL请求中的关键字即可。方法仅供交流学习,不要用来做违法的事情。
1、获取PostId列表
由于网页中每一个职位都有一个PostId,而爬取职位的详情信息时,需要用到PostId来构造请求的URL,因此,我先将职位的PostId存放到列表中,为下一步爬取职位的详情信息做准备。
def get_url():
# 爬取的页数,这里爬取前10页
endIndex = 10
postId = []
for pageIndex in range(1, endIndex+1):
query['timestamp'] = int(time.time())
query['pageIndex'] = pageIndex
url = raw_url.format(query['timestamp'], query['keyword'], query['pageIndex'], query['pageSize'],
query['language'], query['area'])
try:
r = requests.get(url, headers=headers)
except :
print("请求失败!")
continue
data_list = json.loads(r.text)['Data']['Posts']
for item in data_list:
postId