摘要:系列教程互聯網金融爬蟲怎么寫第一課網貸爬蟲入門上一節課我們一起通過一個網貸爬蟲,深入了解了一下以及其在最終實際使用中的寫法。可以毫不夸張的說,對于寫簡單爬蟲來說,最最重要的,就是使用好,以及這一課要講的正則表達式。
系列教程:
互聯網金融爬蟲怎么寫-第一課 p2p網貸爬蟲(XPath入門)?
上一節課我們一起通過一個p2p網貸爬蟲,深入了解了一下XPath以及其在最終實際使用中的寫法。可以毫不夸張的說,對于寫簡單爬蟲來說,最最重要的,就是使用好XPath,以及這一課要講的正則表達式。
正則表達式,又稱正規表示法、常規表示法(英語:Regular?? Expression,在代碼中常簡寫為regex、regexp或RE)
正則表達式幾乎出現在每一個編程語言中,有著極其廣泛的應用,比如做網頁的時候,判斷用戶輸入的是否是郵箱這樣的正則。正則表達式本身寫法基本在各個語言中都是一致的,不過調用方法可能略有不同,在我們教的爬蟲中,正則表達式主要應用在界定列表url和內容url的格式上,就是什么url是列表url,什么url是內容url,什么url直接丟棄掉。這樣做主要是為了提高整個爬蟲的爬取效率,防止爬蟲在無關的url花費太長的時間,當然如果希望全網爬的話,也可以不做設定。
對于手里有點閑錢的人來說,可能最常見的投資品就是股票了,雖然中國股票市場那叫一個變幻詭譎,妖獸頻出。但依舊相對其他流通性差,投資門檻高的投資產品來說,有著國家信用背書的股市依然是不二的投資選擇。股票的數據很多地方都有,我們今天就通過雪球的行情中心,爬一下當天各個上市公司的股票價格吧。
打開雪球行情中心:
哇,突然覺得這是我們教程最高大上的一次。首先,這個頁面就可以作為一個不錯的入口Url,因為有著挺多的連接,不過從效率來講,雖然爬蟲本身可以幫我們去做很多事情,但是最好還是直接找到列表url會更快一些。我們繼續往里找,可以看到這樣一個界面:
https://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=1
原諒我實在不懂股市,姑且就認為這個就是所有股票價格的列表,磚家勿噴~
好了,我們看下這個下一頁規律
https://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=2 https://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=3
看著這種url的結構,發自內心想說:
好了,我們先根據這個連接來提取一下正則表達式,首先我們選中其中一個url,然后原封不動的寫出來:
https://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=2
首先我們需要先把正則里面需要轉義的字符進行轉移,由于正則表達式中.代表任意字符,?代表指定字符出現0次或者1次,因此如果我們想匹配這兩個字符本身的時候一定要記得將他們轉義,當然正則中還有很多其他字符需要轉移,不過這兩個字符是url中最常見的,也是大家最容易弄錯的地方。
經過轉義之后的字符串是這樣的:
https://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=2
https://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=d+
最后,一個經驗性的東西值得注意,一般來說https的網站都會支持http,甚至有的連接會寫成http,因此這里為了程序的健壯性,最好將這段正則修改一下兼容http的格式,修改的方式是我們允許s存在或者不存在,正則中提供了三個字符表示字符出現數量的區間,分別是?表示0或1次,+表示1或多次,*表示0或多次。這里很明顯的,我們應該使用?:
https?://xueqiu.com/hq#exchange=CN&plate=1_1_0&firstName=1&secondName=1_1&type=sha&page=d+
注意這個問號是正則自己的問號,并不需要轉義。
這樣我們就把列表頁的url的正則表達式寫出來了。
同樣的方法,我們寫出內容頁的正則表達式:
https?://xueqiu.com/S/SHd{6}
這里的{6}表示有6位,當位數確定或者范圍確定時,可以使用花括號的形式來表示。再次申明,由于本身股票知識匱乏,暫且認為所有代碼都是6位的。
寫到這里感覺已經離大功告成不遠了,然而,當我們測試就可以發現,所有頁面的url實際上都是由js生成的,通過ajax請求來的。前功盡棄啊,不過還好咱們還學到了東西。不要灰心,黎明就在最黑暗的時間之后。我們下一課就給大家講一講碰到這些個ajax請求該怎么辦。
對爬蟲感興趣的童鞋可以加qq群討論:566855261。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45496.html
摘要:系列教程互聯網金融爬蟲怎么寫第一課網貸爬蟲入門上一節課我們一起通過一個網貸爬蟲,深入了解了一下以及其在最終實際使用中的寫法。可以毫不夸張的說,對于寫簡單爬蟲來說,最最重要的,就是使用好,以及這一課要講的正則表達式。 系列教程: 互聯網金融爬蟲怎么寫-第一課 p2p網貸爬蟲(XPath入門)? 上一節課我們一起通過一個p2p網貸爬蟲,深入了解了一下XPath以及其在最終實際使用中的寫法。...
摘要:之前寫了一個電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進階的路徑,但是作為一個永遠走在時代前沿的科技工作者,我們從來都不能停止。金融數據實在是價值大,維度多,來源廣。由于也是一種,因此通常來說,在中抽取某個元素是通過來做的。 相關教程: 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實戰尚妝網分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實戰...
摘要:之前寫了一個電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進階的路徑,但是作為一個永遠走在時代前沿的科技工作者,我們從來都不能停止。金融數據實在是價值大,維度多,來源廣。由于也是一種,因此通常來說,在中抽取某個元素是通過來做的。 相關教程: 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實戰尚妝網分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實戰...
摘要:剩下的同學,我們繼續了可以看出,作為一個完善的電商網站,尚妝網有著普通電商網站所擁有的主要的元素,包括分類,分頁,主題等等。 系列教程 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 如果沒有看過第一課的朋友,請先移步第一課,第一課講了一些基礎性的東西,通過軟柿子切糕王子這個電商網站好好的練了一次手,相信大家都應該對寫爬蟲的流程有了一個大概的了解,那么這課咱們就話不多說,正式上戰場,對壘...
摘要:剩下的同學,我們繼續了可以看出,作為一個完善的電商網站,尚妝網有著普通電商網站所擁有的主要的元素,包括分類,分頁,主題等等。 系列教程 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 如果沒有看過第一課的朋友,請先移步第一課,第一課講了一些基礎性的東西,通過軟柿子切糕王子這個電商網站好好的練了一次手,相信大家都應該對寫爬蟲的流程有了一個大概的了解,那么這課咱們就話不多說,正式上戰場,對壘...
閱讀 3296·2021-11-24 09:39
閱讀 2805·2021-10-12 10:20
閱讀 1907·2019-08-30 15:53
閱讀 3076·2019-08-30 14:14
閱讀 2600·2019-08-29 15:36
閱讀 1121·2019-08-29 14:11
閱讀 1956·2019-08-26 13:51
閱讀 3408·2019-08-26 13:23