一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python爬取拉勾網職位數據的方法

python爬取拉勾網職位數據的方法

2021-01-08 00:38矜持的折返跑 Python

這篇文章主要介紹了python爬取拉勾網職位數據的實現方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

今天寫的這篇文章是關于python爬蟲簡單的一個使用,選取的爬取對象是著名的招聘網站——拉鉤網,由于和大家的職業息息相關,所以爬取拉鉤的數據進行分析,對于職業規劃和求職時的信息提供有很大的幫助。

完成的效果

  爬取數據只是第一步,怎樣使用和分析數據也是一大重點,當然這不是本次博客的目的,由于本次只是一個上手的爬蟲程序,所以我們的最終目的只是爬取到拉鉤網的職位信息,然后保存到Mysql數據庫中。最后中的效果示意圖如下:

python爬取拉勾網職位數據的方法

控制臺輸入

python爬取拉勾網職位數據的方法

數據庫顯示

準備工作

  首先需要安裝python,這個網上已經有很多的教程了,這里就默認已經安裝python,博主使用的是python3.6,然后安裝了requests、pymysql(連接數據庫使用)和Mysql數據庫。

分析拉勾網

  首先我們打開拉勾網,打開控制臺,搜索java關鍵詞搜索職位,選取北京地區,然后查看network一欄中的數據分析,查看第一個,是不是感覺它很像我們要拿到的請求地址,事實上不是的,這個打開之后是一個html,如果我們訪問這個接口,拉鉤會返回給我們一個結果,提示我們操作太頻繁,也就是被攔截了。不過從這個頁面可以看到,拉鉤的網頁用到了模板,這種加載數據的方式更加快速(大幅度提升),建議大家可以嘗試使用一下(個人拙見)

python爬取拉勾網職位數據的方法

不要氣餒,我們接著往下找,可以看到一個“positionAjax”開頭的請求,沒錯就它“ https://www.lagou.com/jobs/positionAjax.jsonpx=default&city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false&isSchoolJob=0 ”,還是看圖說話吧

python爬取拉勾網職位數據的方法

找到請求地址之后,我們就開始寫代碼了。

先是導入requests和pymysql,然后requests的post方法訪問上面找到的url,但是直接訪問這個地址是會被攔截的,因為我們缺少所要傳輸的數據,和設置請求頭,會被認為是非自然人請求的,加入請求頭和數據,

?
1
2
3
4
5
6
7
8
headers = {'Referer':'https://www.lagou.com/jobs/list_'+position+'?city=%E5%8C%97%E4%BA%AC&cl=false&fromSearch=true&labelWords=&suginput=',    'Origin':'https://www.lagou.com',    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
   'Accept':'application/json, text/javascript, */*; q=0.01',
   'Cookie':'JSESSIONID=ABAAABAAAGFABEFE8A2337F3BAF09DBCC0A8594ED74C6C0; user_trace_token=20180122215242-849e2a04-ff7b-11e7-a5c6-5254005c3644; LGUID=20180122215242-849e3549-ff7b-11e7-a5c6-5254005c3644; index_location_city=%E5%8C%97%E4%BA%AC; _gat=1; TG-TRACK-CODE=index_navigation; _gid=GA1.2.1188502030.1516629163; _ga=GA1.2.667506246.1516629163; LGSID=20180122215242-849e3278-ff7b-11e7-a5c6-5254005c3644; LGRID=20180122230310-5c6292b3-ff85-11e7-a5d5-5254005c3644; Hm_lvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1516629163,1516629182; Hm_lpvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1516633389; SEARCH_ID=8d3793ec834f4b0e8e680572b83eb968'
   }
dates={'first':'true',
  'pn': page,#頁數
  'kd': position#搜索的職位
}

加入請求頭之后就可以請求了,控制臺輸出數據,可以看出是一個json數據,使用json方法處理之后,一步步找到我們想要的數據,可以看出全在“result”里面,那么我們就只拿到他就行了,

?
1
result=resp.json()['content']['positionResult']['result']

這個時候可以看到數據非常多,有30個左右,不過不用擔心,都是英文單詞,基本上可以才出意思。接下來我們就要怕這些數據存儲到數據庫中,以備日后分析使用。

連接mysql我使用的是pymysql,先建好數據庫和數據表,然后在代碼中加入配置信息

?
1
2
3
4
5
6
7
config={
 "host":"127.0.0.1",
 "user":"root",
 "password":"",
 "database":databaseName,
 "charset":"utf8"#防止中文亂碼
}

加載配置文件,連接數據庫

?
1
2
3
4
5
6
7
db = pymysql.connect(**config)
cursor = db.cursor()
sql=""#insert語句
cursor.execute()
db.commit() #提交數據
cursor.close()
db.close()#用完記得關閉連接

大功告成,這個時候拉鉤的職位信息已經靜靜地躺在了你的數據庫中,靜待你的寵幸,拿到這些數據,你就可以進行一些分析了,比如平均工資水平、職位技能要求等。

因為篇幅有限,有些代碼并沒有粘貼出來,比如sql語句(這個sql寫的挺長的),但是別擔心,樓主已經把這個程序放入到github上面了,大家可以自行下載,github地址:https://github.com/wudb1993/pythonDemo如果覺得不錯的話請在github上面點一下star,手打不易謝謝啦,歡迎大神拍磚。

總結

以上所述是小編給大家介紹的python爬取拉勾網職位數據的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/wudb/p/8341036.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 搓光美女衣 | 欧美日韩国产中文字幕 | 国产尤物精品视频 | 日韩免费在线观看 | 小货SAO边洗澡边CAO你动漫 | 精品女同一区二区三区免费站 | 欧美激情精品久久久久久不卡 | 视频一区国产精戏刘婷 | chinese男男gayxxx| 欧美日本一道高清二区三区 | 国产成人久视频免费 | 久久伊人影视 | 爽好舒服把腿张小说 | 国产精品青青青高清在线密亚 | 久久99亚洲AV无码四区碰碰 | 华人在线视频 | 国产嘿咻| 欧美亚洲国产综合在线 | 亚久久伊人精品青青草原2020 | 成年人免费观看的视频 | 日本一区二区高清免费不卡 | 百合漫画咱啪全彩抚慰 | 999精品视频这里只有精品 | 国产无限 | 动漫白丝袜美女羞羞 | 亚洲精品二三区伊人久久 | 国产精品免费网站 | 国产午夜精品久久理论片小说 | 99在线观看国产 | 欧美日韩一区二区三区在线观看 | 牧教师在线观看 | 国产一级网站 | 丝袜护士强制脚足取精 | 男人在女人下面狂躁 | 日本wwxx| 欧美日韩在线观看精品 | 国产精品亚洲专区一区 | 情趣内衣情趣玩具play | 男人j进女屁股视频在线观看 | 香蕉久久高清国产精品免费 | 99视频在线观看视频一区 |