成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

手把手教你寫(xiě)電商爬蟲(chóng)-第五課 京東商品評(píng)論爬蟲(chóng) 一起來(lái)對(duì)付反爬蟲(chóng)

jsummer / 2811人閱讀

摘要:和前面幾節(jié)課類(lèi)似的分析這節(jié)課就不做了,對(duì)于分頁(yè),請(qǐng)求什么的,大家可以直接參考前面的四節(jié)課,這一刻主要特別的是,我們?cè)诓杉唐返耐瑫r(shí),會(huì)將京東的商品評(píng)價(jià)采集下來(lái)。

系列教程:

手把手教你寫(xiě)電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏

手把手教你寫(xiě)電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng)

手把手教你寫(xiě)電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)尚妝網(wǎng)AJAX請(qǐng)求處理和內(nèi)容提取

手把手教你寫(xiě)電商爬蟲(chóng)-第四課 淘寶網(wǎng)商品爬蟲(chóng)自動(dòng)JS渲染

四節(jié)課過(guò)去了,咱們?cè)谂老x(chóng)界也都算見(jiàn)過(guò)世面的人,現(xiàn)在再來(lái)一些什么ajax加載之類(lèi)的小魚(yú)小蝦應(yīng)該不在話(huà)下了,即使是淘寶這種大量的ajax,我們祭上我們的核武器,也輕松應(yīng)對(duì)了,這一課主要是來(lái)看看除了技術(shù)上的頁(yè)面處理外,我們還會(huì)遇上更棘手的問(wèn)題,就是反爬蟲(chóng),當(dāng)然現(xiàn)在有各種各樣的反爬蟲(chóng),今天就先介紹最簡(jiǎn)單的一種:限制IP。

今天咱們的對(duì)手依然是業(yè)界大佬,馬云最忌憚的男人,宅男心中愛(ài)恨交錯(cuò)的對(duì)象 - JD.COM

也不用我安利,特別是程序員,有幾個(gè)沒(méi)給京東送過(guò)錢(qián)的。廢話(huà)不多說(shuō),先上工具:

1、神箭手云爬蟲(chóng),2、Chrome瀏覽器 3、Chrome的插件XpathHelper 不知道是干嘛的同學(xué)請(qǐng)移步第一課

打開(kāi)網(wǎng)站瞅一眼:

好了,相信我,截這張圖絕對(duì)不是在虐你們這些單身狗。我們就是科學(xué)的研究一下這個(gè)頁(yè)面,沒(méi)啥特別的:大廠(chǎng)風(fēng),硬仗準(zhǔn)備。

先來(lái)挑一個(gè)分類(lèi)吧,這次挑一個(gè)大家都熟悉的互聯(lián)網(wǎng)書(shū)類(lèi):

http://search.jd.com/Search?keyword=Python&enc=utf-8&book=y&wq=Python&pvid=33xo9lni.p4a1qb

你們的最?lèi)?ài),python從入門(mén)到放棄的全部資料。

和前面幾節(jié)課類(lèi)似的分析這節(jié)課就不做了,對(duì)于分頁(yè),ajax請(qǐng)求什么的,大家可以直接參考前面的四節(jié)課,這一刻主要特別的是,我們?cè)诓杉唐返耐瑫r(shí),會(huì)將京東的商品評(píng)價(jià)采集下來(lái)。同時(shí)呢,我們也探討下該如何應(yīng)對(duì)京東對(duì)IP的限制,OK,先直接上代碼:

var configs = {  
    domains: ["search.jd.com","item.jd.com","club.jd.com"],  
    scanUrls: ["http://search.jd.com/Search?keyword=Python&enc=utf-8&qrst=1&rt=1&stop=1&book=y&vt=2&page=1&s=1&click=0"],  
    contentUrlRegexes: ["http://item.jd.com/d+.html"],  
    helperUrlRegexes: ["http://search.jd.com/Search?keyword=Python&enc=utf-8&qrst=1&rt=1&stop=1&book=y&vt=2&page=d+&s=1&click=0"],//可留空  
    fields: [  
        {  
            // 第一個(gè)抽取項(xiàng)  
            name: "title",  
            selector: "http://div[@id="name"]/h1",//默認(rèn)使用XPath  
            required: true //是否不能為空  
        },  
        {  
            // 第一個(gè)抽取項(xiàng)  
            name: "productid",  
            selector: "http://div[contains(@class,"fl")]/span[2]",//默認(rèn)使用XPath  
            required: true //是否不能為空  
        },  
        {  
            name: "comments",  
            sourceType: SourceType.AttachedUrl,  
            attachedUrl: "http://club.jd.com/productpage/p-{productid}-s-0-t-3-p-0.html",  
            selectorType: SelectorType.JsonPath,  
            selector: "$.comments",  
            repeated: true,  
            children:[  
                {  
                    name: "com_content",  
                    selectorType: SelectorType.JsonPath,  
                    selector: "$.content"  
                },  
                {  
                    name: "com_nickname",  
                    selectorType: SelectorType.JsonPath,  
                    selector: "$.nickname"  
                },  
            ]  
        }  
    ]  
};  
configs.onProcessHelperUrl = function(url, content, site){  
    if(!content.indexOf("抱歉,沒(méi)有找到")){  
        var currentPage = parseInt(url.substring(url.indexOf("&page=") + 6));  
        if(currentPage == 0){  
            currentPage = 1;  
        }  
        var page = currentPage + 2;  
        var nextUrl = url.replace("&page=" + currentPage, "&page=" + page);  
        site.addUrl(nextUrl);  
    }  
    return true;  
};  
var crawler = new Crawler(configs);  
crawler.start();  

這里主要給大家講一下這個(gè)評(píng)論的配置,由于評(píng)論是多項(xiàng),且評(píng)論還有子項(xiàng),在框架中,是通過(guò)children關(guān)鍵字來(lái)配置的。具體參照代碼既可,我們可以在子項(xiàng)中在定義不同的字段,像這里的comments抽取項(xiàng)會(huì)有content和nickname兩個(gè)子抽取項(xiàng),分別對(duì)應(yīng)的是評(píng)論的內(nèi)容和昵稱(chēng)。

這里是一個(gè)簡(jiǎn)化的版本,由于京東頁(yè)面相對(duì)很復(fù)雜,我們?cè)诔槿≡u(píng)論的時(shí)候,只抽取前一部分評(píng)論,當(dāng)然我們還可以拿到更多的信息,包括評(píng)論數(shù),評(píng)論人的等級(jí)等等,這里大家就自行探索吧。

最后,由于京東會(huì)對(duì)IP進(jìn)行封鎖,雖然說(shuō)神箭手會(huì)自動(dòng)分布式開(kāi)啟爬蟲(chóng),不過(guò)依然扛不住京東大叔的封鎖,因此這里需要通過(guò)接入代理IP解決這樣的問(wèn)題,類(lèi)似開(kāi)啟js渲染,爬取速度會(huì)大大下降,需要大家耐心等待結(jié)果嘍,代碼如下:

configs.enableProxy = true;  

大功告成,開(kāi)啟爬蟲(chóng),喝杯咖啡,京東商品的評(píng)論就可以看到啦:

評(píng)論因?yàn)槭菙?shù)字,因此會(huì)存儲(chǔ)的時(shí)候,會(huì)直接存儲(chǔ)成json格式:

對(duì)爬蟲(chóng)感興趣的童鞋可以加qq群討論:342953471。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79479.html

相關(guān)文章

  • 把手你寫(xiě)電商爬蟲(chóng)-五課 京東商品評(píng)論爬蟲(chóng) 起來(lái)對(duì)付爬蟲(chóng)

    摘要:和前面幾節(jié)課類(lèi)似的分析這節(jié)課就不做了,對(duì)于分頁(yè),請(qǐng)求什么的,大家可以直接參考前面的四節(jié)課,這一刻主要特別的是,我們?cè)诓杉唐返耐瑫r(shí),會(huì)將京東的商品評(píng)價(jià)采集下來(lái)。 系列教程: 手把手教你寫(xiě)電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏 手把手教你寫(xiě)電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng) 手把手教你寫(xiě)電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)尚妝網(wǎng)AJAX請(qǐng)求處理和內(nèi)容提取 手把手教你寫(xiě)電商爬蟲(chóng)-第四課 淘寶網(wǎng)商品爬...

    forsigner 評(píng)論0 收藏0
  • 互聯(lián)網(wǎng)金融爬蟲(chóng)怎么寫(xiě)-第課 p2p網(wǎng)貸爬蟲(chóng)(XPath入門(mén))

    摘要:之前寫(xiě)了一個(gè)電商爬蟲(chóng)系列的文章,簡(jiǎn)單的給大家展示了一下爬蟲(chóng)從入門(mén)到進(jìn)階的路徑,但是作為一個(gè)永遠(yuǎn)走在時(shí)代前沿的科技工作者,我們從來(lái)都不能停止。金融數(shù)據(jù)實(shí)在是價(jià)值大,維度多,來(lái)源廣。由于也是一種,因此通常來(lái)說(shuō),在中抽取某個(gè)元素是通過(guò)來(lái)做的。 相關(guān)教程: 手把手教你寫(xiě)電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏 手把手教你寫(xiě)電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng) 手把手教你寫(xiě)電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)...

    kk_miles 評(píng)論0 收藏0
  • 互聯(lián)網(wǎng)金融爬蟲(chóng)怎么寫(xiě)-第課 p2p網(wǎng)貸爬蟲(chóng)(XPath入門(mén))

    摘要:之前寫(xiě)了一個(gè)電商爬蟲(chóng)系列的文章,簡(jiǎn)單的給大家展示了一下爬蟲(chóng)從入門(mén)到進(jìn)階的路徑,但是作為一個(gè)永遠(yuǎn)走在時(shí)代前沿的科技工作者,我們從來(lái)都不能停止。金融數(shù)據(jù)實(shí)在是價(jià)值大,維度多,來(lái)源廣。由于也是一種,因此通常來(lái)說(shuō),在中抽取某個(gè)元素是通過(guò)來(lái)做的。 相關(guān)教程: 手把手教你寫(xiě)電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏 手把手教你寫(xiě)電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng) 手把手教你寫(xiě)電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)...

    jlanglang 評(píng)論0 收藏0
  • 把手你寫(xiě)電商爬蟲(chóng)-第四課 淘寶網(wǎng)商品爬蟲(chóng)自動(dòng)JS渲染

    摘要:老規(guī)矩,爬之前首先感謝淘寶公布出這么多有價(jià)值的數(shù)據(jù),才讓我們這些爬蟲(chóng)們有東西可以搜集啊,不過(guò)淘寶就不用我來(lái)安利了廣大剁手黨相信睡覺(jué)的時(shí)候都能把網(wǎng)址打出來(lái)吧。 系列教程: 手把手教你寫(xiě)電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏 手把手教你寫(xiě)電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng) 手把手教你寫(xiě)電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)尚妝網(wǎng)AJAX請(qǐng)求處理和內(nèi)容提取 都已經(jīng)三節(jié)課了,大家活動(dòng)活動(dòng)手腳,咱們開(kāi)始一場(chǎng)...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<