摘要:之前寫了一個電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進階的路徑,但是作為一個永遠走在時代前沿的科技工作者,我們從來都不能停止。金融數(shù)據(jù)實在是價值大,維度多,來源廣。由于也是一種,因此通常來說,在中抽取某個元素是通過來做的。
相關(guān)教程:
手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏
手把手教你寫電商爬蟲-第二課 實戰(zhàn)尚妝網(wǎng)分頁商品采集爬蟲
手把手教你寫電商爬蟲-第三課 實戰(zhàn)尚妝網(wǎng)AJAX請求處理和內(nèi)容提取
手把手教你寫電商爬蟲-第四課 淘寶網(wǎng)商品爬蟲自動JS渲染
手把手教你寫電商爬蟲-第五課 京東商品評論爬蟲 一起來對付反爬蟲
工具要求:教程中主要使用到了 1、神箭手云爬蟲 框架 這個是爬蟲的基礎(chǔ),2、Chrome瀏覽器和Chrome的插件XpathHelper 這個用來測試Xpath寫的是否正確
基礎(chǔ)知識: 本教程中主要用到了一些基礎(chǔ)的js和xpath語法,如果對這兩種語言不熟悉,可以提前先學習下,都很簡單。
之前寫了一個電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進階的路徑,但是作為一個永遠走在時代前沿的科技工作者,我們從來都不能停止。
在已有的成果上,所以帶上你的chrome,拿起你的xpathhelper,打開你的神箭手,讓我們再次踏上征戰(zhàn)金融數(shù)據(jù)之旅吧。(上個系列相對難一些,建議如果是初學者,先看這個系列的教程)。
金融數(shù)據(jù)實在是價值大,維度多,來源廣。我們到底從哪里入手呢?想來想去,就從前一段時間風云變幻的p2p網(wǎng)貸開始吧。
同樣,我們教程的一致風格就是先找個軟柿子,上來不能用力過猛,逐漸培養(yǎng)自己的信心,等真正敵人來的時候,才不至于怯場害怕。
我們先去搜索一下p2p網(wǎng)站,隨便找?guī)讉€對比一下,選中了這個滬商財富。
看著這樣的收益率,心動了有木有,錢包坐不住了有木有,對余額寶投出鄙夷的目光了有木有。
好了,閑話不說,這個系列課程吸取上個系列課程里進度太快的教訓,給大家多講一些基礎(chǔ)的知識,這一課就結(jié)合這個實例,重點講講xpath的編寫和用法。
首先,大體來講,XPath是一個相對簡單的語言,甚至都不一定能稱得上是一個語言,主要用處是用來標記XML的元素路徑。由于html也是一種xml,因此通常來說,在html中抽取某個元素是通過XPath來做的。XPath本身和Css有著很大的相似性,一般來說如果之前對Css有一定的了解的話,XPath上手還是很簡單的。具體的情況我在下面的課程中一邊寫,一邊解釋。
首先先確定列表頁:
http://www.hushangcaifu.com/invest/main.html http://www.hushangcaifu.com/invest/index2.html http://www.hushangcaifu.com/invest/index3.html
基本上可以看到列表頁除了第一頁以外都有規(guī)律可尋,不過看到這個效果,通常我們最好精益求精一下,看下第一頁是否也可以符合規(guī)律呢?
打開 http://www.hushangcaifu.com/invest/index1.html 果然也是第一頁,好了,很完美,總結(jié)成正則表達式:
http://www.hushangcaifu.com/invest/indexd+.html
再看下詳情頁:
http://www.hushangcaifu.com/invest/a3939.html http://www.hushangcaifu.com/invest/a3936.html
哈哈,小菜一碟,直接化解成正則:
http://www.hushangcaifu.com/invest/ad{4}.html
好了,最后最重要的就是提取頁面元素了。我們打開詳情頁:
http://www.hushangcaifu.com/invest/a3870.html
一般來說,我們在我們想要提取的元素上右擊,點擊審查元素,得到如下結(jié)果:
首先看到y(tǒng)anh1147這個元素有沒有整個網(wǎng)頁唯一的class,id或者其他屬性,可以看到,在這個頁面中沒有,那么我們就往上找,上一級的p標簽也沒有,咱們再往上找,在上一級是一個,終于有class了,讓我們祈禱這個class是唯一的吧,ctrl+f打開搜索框,輸入product-content-top-left-top,可以看到,找到了1 of 1,這個代表一共一個,這個是第一個,這就是我們希望的結(jié)果,好了,只用找到這一級既可,我們來構(gòu)造整個的xpath,一般來說xpath我們并不會從最頂層的html開始寫,因為沒有必要,因此我們要使用//,這個表示不知中間有多少的層級。接著我們直接把剛剛找到的這個div寫上去,得到這個表達式:
//div[contains(@class,"product-content-top-left-top")]
對于class屬性,我們通常會使用contains這樣一個函數(shù),防止一個元素有多個class的情況,另外因為class是一個屬性,因此class前面需要加上@代表選擇到該元素的一個屬性。
現(xiàn)在我們已經(jīng)選擇到了我們要選擇的元素的父元素的父元素,只要我們繼續(xù)往下走兩層既可。
//div[contains(@class,"product-content-top-left-top")]/p/span
由于我們要選擇元素里的文字信息,而不是整個元素,我們需要指定是這個元素的文字:
//div[contains(@class,"product-content-top-left-top")]/p/span/text()
好了,這樣我們就確定了我們爬取的借款用戶的名稱,我們打開xpathhelper驗證一下有沒有寫錯:
完美的結(jié)果。不過大家有的時候也需要注意,因為有的網(wǎng)頁不代表你在一個內(nèi)容頁測試成功,在其他內(nèi)容頁也能成功,最好多測幾個頁面才是保險的。好了,其他的抽取項就不一一演示了,直接上最后的代碼。
var configs = { domains: ["www.hushangcaifu.com"], scanUrls: ["http://www.hushangcaifu.com/invest/index1.html"], contentUrlRegexes: ["http://www.hushangcaifu.com/invest/ad{4}.html"], helperUrlRegexes: ["http://www.hushangcaifu.com/invest/indexd+.html"], fields: [ { name: "title", selector: "http://div[contains(@class,"product-content-top-left-top")]/h3/text()", required: true }, { name: "user_name", selector: "http://div[contains(@class,"product-content-top-left-top")]/p/span/text()" }, { name: "total_money", selector: "http://div[contains(@class,"product-content-top-left-middle")]/div[1]/h4/text()" }, { name: "project_time", selector: "http://div[contains(@class,"product-content-top-left-middle")]/div[2]/h4/text()" }, { name: "annual_return", selector: "http://div[contains(@class,"product-content-top-left-middle")]/div[3]/h4/text()" }, { name: "return_method", selector: "http://div[contains(@class,"product-content-top-left-middle")]/div[4]/h4/text()" } ] }; var crawler = new Crawler(configs); crawler.start();
將代碼粘貼到神箭手平臺上既可運行。好了,看下運行結(jié)果:
對爬蟲感興趣的童鞋可以加qq群討論: 566855261。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/86467.html
摘要:之前寫了一個電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進階的路徑,但是作為一個永遠走在時代前沿的科技工作者,我們從來都不能停止。金融數(shù)據(jù)實在是價值大,維度多,來源廣。由于也是一種,因此通常來說,在中抽取某個元素是通過來做的。 相關(guān)教程: 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實戰(zhàn)尚妝網(wǎng)分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實戰(zhàn)...
摘要:系列教程互聯(lián)網(wǎng)金融爬蟲怎么寫第一課網(wǎng)貸爬蟲入門上一節(jié)課我們一起通過一個網(wǎng)貸爬蟲,深入了解了一下以及其在最終實際使用中的寫法。可以毫不夸張的說,對于寫簡單爬蟲來說,最最重要的,就是使用好,以及這一課要講的正則表達式。 系列教程: 互聯(lián)網(wǎng)金融爬蟲怎么寫-第一課 p2p網(wǎng)貸爬蟲(XPath入門)? 上一節(jié)課我們一起通過一個p2p網(wǎng)貸爬蟲,深入了解了一下XPath以及其在最終實際使用中的寫法。...
摘要:系列教程互聯(lián)網(wǎng)金融爬蟲怎么寫第一課網(wǎng)貸爬蟲入門上一節(jié)課我們一起通過一個網(wǎng)貸爬蟲,深入了解了一下以及其在最終實際使用中的寫法。可以毫不夸張的說,對于寫簡單爬蟲來說,最最重要的,就是使用好,以及這一課要講的正則表達式。 系列教程: 互聯(lián)網(wǎng)金融爬蟲怎么寫-第一課 p2p網(wǎng)貸爬蟲(XPath入門)? 上一節(jié)課我們一起通過一個p2p網(wǎng)貸爬蟲,深入了解了一下XPath以及其在最終實際使用中的寫法。...
摘要:剩下的同學,我們繼續(xù)了可以看出,作為一個完善的電商網(wǎng)站,尚妝網(wǎng)有著普通電商網(wǎng)站所擁有的主要的元素,包括分類,分頁,主題等等。 系列教程 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 如果沒有看過第一課的朋友,請先移步第一課,第一課講了一些基礎(chǔ)性的東西,通過軟柿子切糕王子這個電商網(wǎng)站好好的練了一次手,相信大家都應該對寫爬蟲的流程有了一個大概的了解,那么這課咱們就話不多說,正式上戰(zhàn)場,對壘...
摘要:剩下的同學,我們繼續(xù)了可以看出,作為一個完善的電商網(wǎng)站,尚妝網(wǎng)有著普通電商網(wǎng)站所擁有的主要的元素,包括分類,分頁,主題等等。 系列教程 手把手教你寫電商爬蟲-第一課 找個軟柿子捏捏 如果沒有看過第一課的朋友,請先移步第一課,第一課講了一些基礎(chǔ)性的東西,通過軟柿子切糕王子這個電商網(wǎng)站好好的練了一次手,相信大家都應該對寫爬蟲的流程有了一個大概的了解,那么這課咱們就話不多說,正式上戰(zhàn)場,對壘...
閱讀 2637·2023-04-26 02:17
閱讀 1610·2021-11-24 09:39
閱讀 1070·2021-11-18 13:13
閱讀 2598·2021-09-02 15:11
閱讀 2770·2019-08-30 15:48
閱讀 3406·2019-08-30 14:00
閱讀 2431·2019-08-29 13:43
閱讀 658·2019-08-29 13:07