datatables每页显示数据刷新后不变_2019北京积分落户名单数据的一些分析
2020,新一波北京積分落戶又開始了。
在此,奉上去年閑來無事分析的19年北京積分落戶的一些公開數(shù)據(jù),把握一下猴年馬月才能中標(biāo)的趨勢(shì)。
前半部分主要是技術(shù)環(huán)節(jié),心急的可以直接跳到后半部分看具體的數(shù)據(jù)分析。
這本來應(yīng)該是一篇關(guān)于Python爬蟲爬取大數(shù)據(jù)并進(jìn)行分析的故事,然而進(jìn)行下去之后發(fā)現(xiàn)并不是那么回事兒。。。。10月15日,2019年北京積分落戶名單公布了,這是自去年以來的第二次。雖然再次“與女無瓜”,分?jǐn)?shù)還差得老遠(yuǎn),但是還是想看看榜上都是何方神圣,分析一下入圍的秘方。
http://rsj.beijing.gov.cn/integralpublic/settleperson/settlePersonTable
人社局的這個(gè)網(wǎng)站看著著實(shí)麻煩,每頁最多顯示100條信息,今年一共6007人,那得翻60多頁啊~~~~
這種麻煩事,必須用爬蟲啊。
可,可我不會(huì)啊。。。。
于是乎,只能現(xiàn)上網(wǎng)搜教程,發(fā)揮我的學(xué)習(xí)能力了。
在眾多Python爬蟲方法中,我發(fā)現(xiàn)了一個(gè)叫做Pyspider的框架。這個(gè)方法非常好,優(yōu)點(diǎn)在于是基于webUI界面的開發(fā)環(huán)境,支持任務(wù)監(jiān)控,支持JS,支持多種數(shù)據(jù)庫,對(duì)于爬蟲新手,并且html不太熟的新手來說很友好。唯一缺點(diǎn)就是環(huán)境搭建各種的坑啊。起先是需要安裝各種依賴包,什么PhantomJS、pycurl等等裝了個(gè)遍。然后Python IDLE又運(yùn)行不起來了,原來是Mac更新了10.15后不支持32bit程序了,需要升級(jí)Python到64bit的版本。等升級(jí)完P(guān)ython 3.8以后,發(fā)現(xiàn)剛安裝的Pyspider又啟動(dòng)不了。上網(wǎng)搜了下報(bào)錯(cuò)信息,是因?yàn)镻ython 3.7以后把a(bǔ)sync設(shè)為了關(guān)鍵字,與Pyspider框架中的async函數(shù)名重復(fù)了導(dǎo)致報(bào)錯(cuò),最后我又一個(gè)一個(gè)py文件復(fù)查,更改沖突函數(shù)名,這才讓小爬蟲跑起來。這一折騰就半天過去了。
上網(wǎng)搜了幾個(gè)Pyspider的案例,又詳細(xì)看了下官方的doc文檔,發(fā)現(xiàn)Pyspider確實(shí)比較容易上手的,demo程序幾乎都是三段式或四段式結(jié)構(gòu):起先定義一個(gè)on_start()函數(shù),然后是定義index_page()函數(shù),最后是detail_page()函數(shù)用于儲(chǔ)存結(jié)果,如果需要對(duì)結(jié)果進(jìn)行篩選,還可以再定義一個(gè)on_result()函數(shù)。
對(duì)于Pyspider大體框架粗略學(xué)習(xí)了一通以后,找了一個(gè)比較接近本次爬蟲需求的demo代碼開始修改了。改著改著發(fā)現(xiàn)了重大問題!本次人社局這個(gè)名單的網(wǎng)址,并不會(huì)隨著切換頁面而改變啊。也就是說這個(gè)網(wǎng)址(http://rsj.beijing.gov.cn/integralpublic/settleperson/settlePersonTable),不論點(diǎn)擊頁面是那個(gè)第幾頁,依然顯示同樣的url,而不會(huì)像某些網(wǎng)頁那樣url后綴會(huì)變?yōu)閜age0,page1,page2等等。這樣就導(dǎo)致一個(gè)問題——沒法翻頁。也就是說,在index_page()函數(shù)中,本應(yīng)該定義循環(huán)翻頁的操作就沒法做了。
例如上面這段demo,就是根據(jù)url后面的page數(shù)值進(jìn)行循環(huán)操作的
再次上網(wǎng)搜索后,居然又get到了新知識(shí)點(diǎn)。要不怎么說學(xué)無止境呢:原來這類型網(wǎng)頁是使用了Ajax動(dòng)態(tài)加載技術(shù),可以在不重新加載整個(gè)網(wǎng)頁的情況下,對(duì)網(wǎng)頁的某部分進(jìn)行更新。這種網(wǎng)頁可能就是故意給我們這類爬蟲新手制造困難的吧。對(duì)于這類網(wǎng)頁,就需要對(duì)url進(jìn)行解析了。
先使用Chrome瀏覽器打開積分落戶名單網(wǎng)頁。右鍵選擇“檢查”,進(jìn)入開發(fā)者環(huán)境。之后在打開的窗口中菜單欄里選擇Network。Network面板主要就是記錄從發(fā)起網(wǎng)頁頁面請(qǐng)求Request后,分析http請(qǐng)求得到的各個(gè)資源信息。根據(jù)這些內(nèi)容進(jìn)行網(wǎng)絡(luò)優(yōu)化。當(dāng)然,網(wǎng)優(yōu)并非本次關(guān)注的內(nèi)容,我們主要還是寄希望于可以從Request命令中看到真實(shí)的url地址。
參見圖中標(biāo)紅處
Network面板打開后顯示內(nèi)容為空。我們?cè)诰W(wǎng)頁上依次點(diǎn)擊幾下落戶名單頁碼看看會(huì)發(fā)生什么。當(dāng)我們依次點(diǎn)擊了頁碼2、3、4后,會(huì)看到Network面板上隨點(diǎn)擊出現(xiàn)了一些條目“tablePage“,這就是每次點(diǎn)擊事件發(fā)出后的Request和Response。
點(diǎn)擊頁碼就生成了一個(gè)一個(gè)的tablePage
我們點(diǎn)開一個(gè)條目進(jìn)行查看,看到在Header標(biāo)簽下,給出一個(gè)Request URL http://rsj.beijing.gov.cn/integralpublic/settlePerson/tablePage,這就是網(wǎng)頁上數(shù)據(jù)表格中內(nèi)容被調(diào)用的真實(shí)路徑,但這個(gè)路徑還沒完,接著往下看。
這是某一個(gè)網(wǎng)頁頁碼對(duì)應(yīng)的Request URL
在Header標(biāo)簽中移動(dòng)到最底部。在Form data中選擇view source,可以看到rows和page兩個(gè)屬性分別帶有一些數(shù)值——“name=&rows=10&page=10”,這就是真實(shí)路徑的第二部分。我們不斷點(diǎn)選網(wǎng)頁頁碼,可以看到rows=10是固定不變的,意味著每頁顯示10行信息;而page的數(shù)值,會(huì)隨著網(wǎng)頁頁碼的點(diǎn)擊而變化,例如第一頁page=1,第二頁page=10,第三頁page=20等等。
URL的后半截
接下來需要將兩段url組合到一起,用“?”拼接,即“http://rsj.beijing.gov.cn/integralpublic/settlePerson/tablePage?name=&rows=10&page=0”。可以在瀏覽器中打開這個(gè)鏈接看一下,打開的就正是落戶名單的第二頁了。
注意看瀏覽器的網(wǎng)頁地址
我突然意識(shí)到,如果人為修改這個(gè)rows和page的參數(shù),能否以一頁頁面,顯示所有6007條落戶信息呢?通過修改rows=6007,page=0,再次在瀏覽器中打開,bravo,所有落戶信息通過一張表格全部展現(xiàn)了。最后直接復(fù)制粘貼到EXCEL,完成。
那么問題來了。到底還需要繼續(xù)pyspider爬蟲來抓取數(shù)據(jù)嗎?看來應(yīng)該是不需要了吧。當(dāng)然爬蟲技術(shù)的學(xué)習(xí)并非告一段落,而是爬蟲的工作范圍可能更適用于需要定期刷新的和數(shù)據(jù)量更大的場景,像這種數(shù)據(jù)量較少的活兒,通過拼接個(gè)URL的方式可能更簡單一些吧。
下面看一看今年積分落戶名單能挖掘到哪些信息點(diǎn)呢?跟2018年名單相比,本次公布的名單少了身份證號(hào)一列,于是很重要的信息——落戶前戶籍屬性,就無法進(jìn)行分析。這其實(shí)是一個(gè)很有意思的挖掘點(diǎn)。
總體落戶人群畫像:75后,大學(xué)本科畢業(yè),幾乎畢業(yè)后就在京工作,就職于科技企業(yè)收入較高,并按照正常社會(huì)進(jìn)度進(jìn)行購房結(jié)婚的人士。
按年齡段來劃分的話,本次落戶人士更多落在了41~45歲區(qū)間。
19年落戶人士的年齡最多集中在41歲(1978年),其次為42歲(1977年)和43歲(1976年),總體呈現(xiàn)正態(tài)分布的趨勢(shì)。相比18年,人數(shù)峰值略微年輕1歲,但總體峰值人群依然集中在41~43歲。(如果靠連續(xù)兩年數(shù)據(jù)來推斷的話,峰值人群年齡有年輕化的趨勢(shì))。
2018年積分落戶年齡分布(圖片來自網(wǎng)絡(luò)ProgramerFangL網(wǎng)友創(chuàng)作)
大多數(shù)人士的積分落在了94~94.99分?jǐn)?shù)區(qū)間,更高分?jǐn)?shù)形成了一個(gè)長尾。
由于榜單中各組織中,有存在多個(gè)組織隸屬于同一總公司的情況。限于歸類困難的原因,僅按照榜單公示的組織名稱進(jìn)行劃分。其中,華為數(shù)字公司員工落戶人數(shù)遠(yuǎn)超其他單位,是排名第二央視的近一倍了(如算上華為北研所的人數(shù),將達(dá)到263人)。排在前列的公司中,科技類公司落戶人數(shù)明顯占多數(shù)。
從年齡與分?jǐn)?shù)段交叉比較來看,現(xiàn)年40歲以下者取得高分的人數(shù)依然很低。由此看來,“年限”可能是分?jǐn)?shù)拉開差距的最關(guān)鍵一環(huán)。
總體分析來看,按照目前趨勢(shì)預(yù)估,41~43歲為積分落戶成功率最高年齡,所以85年生人達(dá)到落戶峰值大概在4~5年后。當(dāng)前落戶關(guān)鍵因素,社保滿一年記3分,這是所有積分項(xiàng)里增幅最大者,一定保證社保不要斷;其次,不要賣房,自有住房滿一年記1分,也很關(guān)鍵;第三,一定要保證自己在接近落戶最可能年限前,依然保持年納稅10萬以上,這一項(xiàng)直接決定6分能否到手。
有余力的本科學(xué)歷者,可以去考個(gè)非全日制碩士啥的,一次性就比本科生多11分了。然而這也是個(gè)悖論,你周末去上課去了,不加班,老板憑啥給你年納稅10萬以上的工資呢。。。。。orz
再有就是,碰上狗屎運(yùn),能在自己崗位上好好干,干出點(diǎn)兩彈一星相媲美的成績的,申請(qǐng)個(gè)重大科技成果,一次性加個(gè)幾十分就直接出現(xiàn)了啊。。。。。。
不要寄希望于路見不平拔刀相助,見義勇為還得看自身體質(zhì)了。。。。。。
當(dāng)然,后續(xù)的游戲規(guī)則怎樣,還得看zf了。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的datatables每页显示数据刷新后不变_2019北京积分落户名单数据的一些分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为:不会抛弃手机业务 本月将发布最新最
- 下一篇: 3999元起!荣耀Magic5系列国内发