摘要:通過閱讀源碼,我們發現的公開方法返回的是一個中的列表,而對象有四個槽。去掉翻頁只含有數字的鏈接去掉翻頁,長度小于,且含有頁字的鏈接頁你可以在中調用這個類,來檢測一下它是否達到了過濾翻頁鏈接的目的。
在用scrapy爬取新聞網站時,我們可能只希望爬取最新的新聞。這時我們需要提供一個禁止翻頁的邏輯。
而scrapy.linkextractors.LinkExctractor并沒有提供這樣的接口。
所以我們需要自己構建一個新的link extractor。通過閱讀源碼,我們發現LinkExtractor 的公開方法extract_links返回的是一個scrapy.link中的Link列表,而Link對象有四個槽: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)
# 去掉翻頁(只含有數字的鏈接)
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中調用這個類,來檢測一下它是否達到了過濾翻頁鏈接的目的。
你也可以通過增加filter條件,擴展這個類。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38238.html
摘要:問題最近在用寫端項目時發現個問題,的橫向滑動和瀏覽器的橫向滑動翻頁效果出現了沖突。思路我們雖然不能禁止瀏覽器的跳轉操作,但是我們可以阻止滑動元素觸發的所有默認事件啊。 問題: 最近在用vue寫m端項目時發現個問題,better-scroll的橫向滑動和UC瀏覽器的橫向滑動翻頁效果出現了沖突。 簡單的說,就是滑動scroll組件的時候也會觸發UC瀏覽器自帶的翻頁效果。 為此在網上找了不少...
摘要:雖然蘋果官方提供了關于的與使用說明,但這并不能滿足開發者們的需求,各類復雜場景依舊讓我們焦頭爛額,而解決方案卻不易尋找。二源碼下載編譯及調試之前我們首先需要獲取一份蘋果官方的源碼。 一、前言移動互聯網時代,網頁依舊是內容展示的重要媒介,這離不開 WebKit 瀏覽內核技術的支持與發展。在 iOS 平臺下開發者們...
摘要:而唯一不引發刷新的參數并不會發送到服務器,因此服務器無法獲得狀態。目前建議設置為空字符串。此外請注意,及本身調用時是不觸發事件的。我認為,按照漸進增強的思路,這樣就是最好的了,也就是只使用較少的代碼優化高級瀏覽器的使用體驗。 HTML5 history API有什么用呢? 從Ajax翻頁的問題說起 請想象你正在看一個視頻下面的評論,在翻到十幾頁的時候,你發現一個寫得稍長,但非常有趣的評...
閱讀 3436·2021-11-19 09:40
閱讀 1329·2021-10-11 11:07
閱讀 4860·2021-09-22 15:07
閱讀 2899·2021-09-02 15:15
閱讀 1972·2019-08-30 15:55
閱讀 545·2019-08-30 15:43
閱讀 886·2019-08-30 11:13
閱讀 1455·2019-08-29 15:36
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要