手把手教你用Python采集騰訊招聘數(shù)據(jù)
本文轉(zhuǎn)載自微信公眾號「菜J學Python」,作者游世九黎 。轉(zhuǎn)載本文請聯(lián)系菜J學Python公眾號。
大家好,我是J哥~(本文來自好友投稿)
今天我們爬取騰訊招聘網(wǎng)站Python崗位的招聘信息。如圖所示:
然后還是先看一下最終的結(jié)果,我們保存到csv文件中。
爬取1000條數(shù)據(jù),第一行是title:
老規(guī)矩,我們還是走流程。
01需求分析
抓取騰訊招聘網(wǎng)站Python相關崗位數(shù)據(jù),打開目標網(wǎng)站,F12打開開發(fā)者工具,發(fā)現(xiàn)崗位信息不在網(wǎng)頁源碼中,很明顯是在XHR中的json數(shù)據(jù)。
正好對應頁面十條數(shù)據(jù),接下來就好辦了。
02發(fā)送請求
找到url的頁面規(guī)律,
- 第一頁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=cn
 
index參數(shù)對應值即為頁碼,所以循環(huán)得到url鏈。
- def getPage(self):
 - url_list = []
 - for i in range(100):
 - url = self.url.format(i + 1)
 - url_list.append(url)
 - return url_list
 
03解析頁面
得到url鏈之后我們循環(huán)遍歷發(fā)起請求,得到json數(shù)據(jù),將json數(shù)據(jù)轉(zhuǎn)換成字典,并解析數(shù)據(jù)。
- for url in urlList:
 - resp = requests.get(url, headers=self.headers)
 - data = resp.content.decode('utf-8')
 - dic_data = json.loads(data)
 - dic_data_list = dic_data["Data"]["Posts"]
 - for i in dic_data_list:
 - work_list.append(i)
 
這樣就得到了崗位信息數(shù)據(jù)。
04保存數(shù)據(jù)
得到了崗位數(shù)據(jù)之后我們需要把它保存到本地,這里我們把數(shù)據(jù)保存到本地csv文件中。
- try:
 - with open('Tx_work.csv', 'w', encoding='utf-8', newline='') as f:
 - writer = csv.DictWriter(f, self.title)
 - writer.writeheader()
 - writer.writerows(dic)
 - print('寫入成功')
 - except Exception as e:
 - print(e)
 
05運行程序
- if __name__ == '__main__':
 - tx = Tx(base_url,hd,titles)
 - tx.run()
 
小伙伴們可以對Python崗位的崗位需求好好分析結(jié)合自身技術(shù)棧,最后希望大家都能找到好工作。




















 
 
 





 
 
 
 