本文转载自微信公众号《蔡J学Python》,作者游石九里。转载本文请联系蔡J学习Python公众号。大家好,我是J哥~(本文由朋友投稿)今天我们爬取了腾讯招聘网站上Python岗位的招聘信息。如图:那么我们先来看看最终的结果,我们保存在一个csv文件中。爬取1000条数据,第一行标题:老规矩,我们还是按流程走。01需求分析从腾讯招聘网站抓取Python相关的职位数据,打开目标网站,按F12打开开发者工具,发现职位信息不在网页的源代码中,而明显在json数据中XHR。正好对应页面上的十条数据,下一步就简单了。02发送请求查找url的页面模式,第一页url:https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1620561777984&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=python&pageIndex=1&pageSize=10&language=zh-cn&area=cnindex参数对应的值为页码,所以循环获取url链。defgetPage(self):url_list=[]foriinrange(100):url=self.url.format(i+1)url_list.append(url)returnurl_list03解析页面得到url链后,循环请求得到json数据。将json数据转成字典,解析数据。forurlinurlList:resp=requests.get(url,headers=self.headers)data=resp.content.decode('utf-8')dic_data=json.loads(data)dic_data_list=dic_data["数据"]["帖子"]foriindic_data_list:work_list.append(i)这样就得到了职位信息数据。04保存数据拿到job数据后,我们需要保存到本地,这里我们将数据保存到本地的csv文件中。try:withopen('Tx_work.csv','w',encoding='utf-8',newline='')asf:writer=csv.DictWriter(f,self.title)writer.writeheader()writer.writerows(dic)print('writesuccess')exceptExceptionase:print(e)05运行程序if__name__=='__main__':tx=Tx(base_url,hd,titles)tx.好好分析需求,结合自己的技术栈,希望大家最终都能找到一份好工作。
