数据用压缩 bcd 码 java_IT职场新人选python,go还是java?用数据来说话
最近有讀者在后臺問,剛參加工作,想選一個職業(yè)方法,問我現(xiàn)在python很火,但是貌似就業(yè)機會不是很多,所以比較糾結(jié)現(xiàn)在到底是學(xué)python,go還是java. 所以我就想我們能不能用數(shù)據(jù)說話,看看python,go,java這三種熱門語言,到底在市場上什么行情。
說到分析,那我們要先拿到數(shù)據(jù),這次的數(shù)據(jù)還是來自我們的爬蟲好伙伴,拉勾網(wǎng),我們各抓取了這三種語言的市場行情數(shù)據(jù)來分析,話不多說,我們看看怎么去爬取數(shù)據(jù)和分析。
首先來說老套路,右擊網(wǎng)頁----->檢查------>network抓包(因為拉勾網(wǎng)是異步加載)
1.requests請求數(shù)據(jù)
點擊python搜索頁,打開network抓包,我們看看下面的圖片
我們可以看到這次的請求模式是post請求,而不是get請求,這點要注意,所以我們代碼是請求頁面的時候要使用requests.post來請求
這里還有一點要注意,我們看到post請求下面還有一條請求,我們可以看看,它是什么
可以看到這是一個get請求,可能我們會忽略這點,如果忽略了這個get請求,我們在后面的代碼執(zhí)行時會遇到麻煩,這是拉鉤的一種反爬手段,我們?nèi)绻捎迷瓉淼墓潭╟ookies(headers)信息去爬取數(shù)據(jù)的時候,可能只能爬個4-5頁面就會出現(xiàn)下面的錯誤
{'status': False, 'msg': '您操作太頻繁,請稍后再訪問', 'clientIp': 'xxxxxxx', 'state': 2402}上面的錯誤看起來是因為IP地址被封導(dǎo)致的,但是一般IP地址被封,我們用網(wǎng)頁也是打不開的,但是這里你可以試試用網(wǎng)上去訪問頁面,其實還是可以正常訪問的,所以這里應(yīng)該不是IP被封的問題,這里其實是拉鉤的反爬機制,他是改變了你瀏覽器端的cookie信息,導(dǎo)致你訪問不了,如果你再代碼里還是用原來的老套路,cookie信息是定死的,那就著了他的道了。
這其實就是上面的get請求的作用,也就是說我們的cookie信息要在代碼里是動態(tài)的,用上一次訪問返回的cookie信息,進(jìn)行當(dāng)前的頁面訪問,那怎么從前一個url訪問后拿取cookie呢,這就要用到requests.session了,另外referer也不能少的,少了一樣可能都會出現(xiàn)操作太頻繁的回復(fù)的,這里的referer其實就是你是從哪個頁面跳轉(zhuǎn)來的,我們要訪問的URL是"https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false
總結(jié)
以上是生活随笔為你收集整理的数据用压缩 bcd 码 java_IT职场新人选python,go还是java?用数据来说话的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php生成图片文件流,php如何将bas
- 下一篇: python删除excel内容_用pyt