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