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

資訊專欄INFORMATION COLUMN

深入理解scray源碼之禁止翻頁

olle / 379人閱讀

摘要:通過閱讀源碼,我們發(fā)現(xiàn)的公開方法返回的是一個(gè)中的列表,而對象有四個(gè)槽。去掉翻頁只含有數(shù)字的鏈接去掉翻頁,長度小于,且含有頁字的鏈接頁你可以在中調(diào)用這個(gè)類,來檢測一下它是否達(dá)到了過濾翻頁鏈接的目的。

在用scrapy爬取新聞網(wǎng)站時(shí),我們可能只希望爬取最新的新聞。這時(shí)我們需要提供一個(gè)禁止翻頁的邏輯。

scrapy.linkextractors.LinkExctractor并沒有提供這樣的接口。

所以我們需要自己構(gòu)建一個(gè)新的link extractor。通過閱讀源碼,我們發(fā)現(xiàn)LinkExtractor 的公開方法extract_links返回的是一個(gè)scrapy.link中的Link列表,而Link對象有四個(gè)槽:url,text, fragment, nofollow。我們在這里我們只要對url屬性做一下過濾就可以了。

from scrapy.linkextractors import LinkExtractor


class LinKExtractorPlus(LinkExtractor):
    def __init__(self, *args, **kwargs):
        LinkExtractor.__init__(self, *args, **kwargs)

    def extract_links(self, response):
        links = super(LinKExtractorPlus, self).extract_links(response)
        # 去掉翻頁(只含有數(shù)字的鏈接)
        links = filter(lambda x: not (x.text.isdigit()), links)
        # 去掉翻頁,長度小于5,且含有"頁"字的鏈接
        links = filter(lambda x: not (len(x.text) < 5 and u"頁" in x.text), links)

        return links

你可以在scrapy shell中調(diào)用這個(gè)類,來檢測一下它是否達(dá)到了過濾翻頁鏈接的目的。
你也可以通過增加filter條件,擴(kuò)展這個(gè)類。

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

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

相關(guān)文章

  • better-scroll與UC瀏覽器滑動(dòng)翻頁沖突的js解決方案

    摘要:問題最近在用寫端項(xiàng)目時(shí)發(fā)現(xiàn)個(gè)問題,的橫向滑動(dòng)和瀏覽器的橫向滑動(dòng)翻頁效果出現(xiàn)了沖突。思路我們雖然不能禁止瀏覽器的跳轉(zhuǎn)操作,但是我們可以阻止滑動(dòng)元素觸發(fā)的所有默認(rèn)事件啊。 問題: 最近在用vue寫m端項(xiàng)目時(shí)發(fā)現(xiàn)個(gè)問題,better-scroll的橫向滑動(dòng)和UC瀏覽器的橫向滑動(dòng)翻頁效果出現(xiàn)了沖突。 簡單的說,就是滑動(dòng)scroll組件的時(shí)候也會(huì)觸發(fā)UC瀏覽器自帶的翻頁效果。 為此在網(wǎng)上找了不少...

    anquan 評論0 收藏0
  • 深入理解 WKWebView(入門篇)—— WebKit 源碼調(diào)試與分析

    摘要:雖然蘋果官方提供了關(guān)于的與使用說明,但這并不能滿足開發(fā)者們的需求,各類復(fù)雜場景依舊讓我們焦頭爛額,而解決方案卻不易尋找。二源碼下載編譯及調(diào)試之前我們首先需要獲取一份蘋果官方的源碼。 一、前言移動(dòng)互聯(lián)網(wǎng)時(shí)代,網(wǎng)頁依舊是內(nèi)容展示的重要媒介,這離不開 WebKit 瀏覽內(nèi)核技術(shù)的支持與發(fā)展。在 iOS 平臺(tái)下開發(fā)者們...

    funnyZhang 評論0 收藏0
  • HTML5 history API,創(chuàng)造更好的瀏覽體驗(yàn)

    摘要:而唯一不引發(fā)刷新的參數(shù)并不會(huì)發(fā)送到服務(wù)器,因此服務(wù)器無法獲得狀態(tài)。目前建議設(shè)置為空字符串。此外請注意,及本身調(diào)用時(shí)是不觸發(fā)事件的。我認(rèn)為,按照漸進(jìn)增強(qiáng)的思路,這樣就是最好的了,也就是只使用較少的代碼優(yōu)化高級(jí)瀏覽器的使用體驗(yàn)。 HTML5 history API有什么用呢? 從Ajax翻頁的問題說起 請想象你正在看一個(gè)視頻下面的評論,在翻到十幾頁的時(shí)候,你發(fā)現(xiàn)一個(gè)寫得稍長,但非常有趣的評...

    zgbgx 評論0 收藏0

發(fā)表評論

0條評論

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