初級爬蟲--爬取拉勾網職位信息


主要用到的庫:requests

1.原始url地址,https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=。我們查看網頁源代碼,發現里面並沒有我們想要的職位信息,這是因為拉勾網有反爬蟲機制,它的職位信息是通過ajax動態加載的。

2.我們按下F12,找到network--在左側Name中找到:positionAjax.json?needAddtionalResult=false--,在右側找到response。

 

 我們將顯示的json格式的內容放在http://www.bejson.com/jsonviewernew/進行格式化:

 

 發現這正是我們想要的職位信息。

3.簡單爬蟲的構建

import requests
#實際要爬取的url
url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'

payload = {
    'first': 'true',
    'pn': '1',
    'kd': 'python',
}

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
    'Referer': 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',
    'Accept': 'application/json, text/javascript, */*; q=0.01'
}
#原始的url
urls ='https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput='
#建立session
s = requests.Session()
# 獲取搜索頁的cookies
s.get(urls, headers=header, timeout=3)
# 為此次獲取的cookies
cookie = s.cookies
# 獲取此次文本
response = s.post(url, data=payload, headers=header, cookies=cookie, timeout=5).text
print(response)

部分輸出如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM