手把手教你用Python采集騰訊招聘數據
本文轉載自微信公眾號「菜J學Python」,作者游世九黎 。轉載本文請聯系菜J學Python公眾號。
大家好,我是J哥~(本文來自好友投稿)
今天我們爬取騰訊招聘網站Python崗位的招聘信息。如圖所示:
然后還是先看一下最終的結果,我們保存到csv文件中。
爬取1000條數據,第一行是title:
老規矩,我們還是走流程。
01需求分析
抓取騰訊招聘網站Python相關崗位數據,打開目標網站,F12打開開發者工具,發現崗位信息不在網頁源碼中,很明顯是在XHR中的json數據。
正好對應頁面十條數據,接下來就好辦了。
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=cn
index參數對應值即為頁碼,所以循環得到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鏈之后我們循環遍歷發起請求,得到json數據,將json數據轉換成字典,并解析數據。
- 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)
這樣就得到了崗位信息數據。
04保存數據
得到了崗位數據之后我們需要把它保存到本地,這里我們把數據保存到本地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崗位的崗位需求好好分析結合自身技術棧,最后希望大家都能找到好工作。