Python爬取拉勾網資料(破解反爬蟲機制)
阿新 • • 發佈:2019-02-03
人生苦短, 我學 Python!
這篇文章主要記錄一下我學習 Python 爬蟲的一個小例子, 是爬取的拉勾網的資料.
1.準備
配置 Python 環境什麼的就不說了, 網上教程很多, 自行解決.
2.扒原始碼
先開啟拉勾網的網頁. 我們要爬取這部分的資料, 即搜尋結果列表資料:
檢查原始碼, 開啟如下圖所示位置:
然後發現,這部分資料是我們所要爬取的資料:
ok! 開始擼程式碼!
import requests def main(): url='https://www.lagou.com/jobs/positionAjax.json?city=%E4%B8%8A%E6%B5%B7&needAddtionalResult=false' headers = { 'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36', 'Host':'www.lagou.com', 'Referer':'https://www.lagou.com/jobs/list_python?city=%E4%B8%8A%E6%B5%B7&cl=false&fromSearch=true&labelWords=&suginput=', 'X-Anit-Forge-Code':'0', 'X-Anit-Forge-Token':None, 'X-Requested-With': 'XMLHttpRequest' } form_data = { 'first': 'true', 'pn': '1', 'kd': 'Python' } response = requests.post(url,headers=headers,data=form_data) print(response.text) if __name__ == '__main__': main()
解釋一下:
headers的獲取:
這樣就能獲取到列表資料了, 為了方便操作這些資料, 還可以轉換成 json 格式, 這樣就可以為所欲為了!
enjoy it!