1. 程式人生 > >Python爬取拉勾網資料(破解反爬蟲機制)

Python爬取拉勾網資料(破解反爬蟲機制)

人生苦短, 我學 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!