您好,登錄后才能下訂單哦!
這篇文章主要介紹python分布式爬蟲中的rules有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
爬蟲在找尋數據的時候,如果都隨意把找到的數據搬運回來,不僅我們的內存裝不下,而且會搬回來很多重復的數據,我們也沒有辦法一個個的進行篩選。這時候我們需要給爬蟲制定帶回來數據的規則,防止重復數據的產生。這樣我們再來談rules就很好理解了,可以看成是給爬蟲制定的規則合集。
在rules中包含一個或多個Rule對象,每個Rule對爬取網站的動作定義了特定操作。如果多個rule匹配了相同的鏈接,則根據規則在本集合中被定義的順序,第一個會被使用。
class scrapy.spiders.Rule( link_extractor, callback = None, cb_kwargs = None, follow = None, process_links = None, process_request = None )
link_extractor:是一個Link Extractor對象,用于定義需要提取的鏈接(Link Extractor對象見下)。
callback: 從link_extractor中每獲取到鏈接時,參數所指定的值作為回調函數,該回調函數接受一個response作為其第一個參數。
注意:當編寫爬蟲規則時,避免使用parse作為回調函數。由于CrawlSpider使用parse方法來實現其邏輯,如果覆蓋了 parse方法,crawl spider將會運行失敗。
follow:是一個布爾(boolean)值,指定了根據該規則從response提取的鏈接是否需要跟進。 如果callback為None,follow 默認設置為True ,否則默認為False。
process_links:指定該spider中哪個的函數將會被調用,從link_extractor中獲取到鏈接列表時將會調用該函數。該方法主要用來過濾。
process_request:指定該spider中哪個的函數將會被調用, 該規則提取到每個request時都會調用該函數。 (用來過濾request)
有了rules給爬蟲制定規范,我們就可以放心的把搜集數據的任務交給爬蟲們了。
以上是“python分布式爬蟲中的rules有什么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。