摘要:當在中被收集之后,它將會被傳遞到,這些組件按定義的順序處理。每個都是實現了簡單方法的類,比如決定此是丟棄而存儲。對象被開啟的可選實現,當被開啟時,這個方法被調用。
Item Pipeline
當Item在Spider中被收集之后,它將會被傳遞到Item Pipeline,這些Item Pipeline組件按定義的順序處理Item。
每個Item Pipeline都是實現了簡單方法的Python類,比如決定此Item是丟棄而存儲。以下是item pipeline的一些典型應用:
驗證爬取的數據(檢查item包含某些字段,比如說name字段)
查重(并丟棄)
將爬取結果保存到文件或者數據庫中
編寫item pipeline編寫item pipeline很簡單,item pipiline組件是一個獨立的Python類,其中process_item()方法必須實現:
import something class SomethingPipeline(object): def __init__(self): # 可選實現,做參數初始化等 # doing something def process_item(self, item, spider): # item (Item 對象) – 被爬取的item # spider (Spider 對象) – 爬取該item的spider # 這個方法必須實現,每個item pipeline組件都需要調用該方法, # 這個方法必須返回一個 Item 對象,被丟棄的item將不會被之后的pipeline組件所處理。 return item def open_spider(self, spider): # spider (Spider 對象) – 被開啟的spider # 可選實現,當spider被開啟時,這個方法被調用。 def close_spider(self, spider): # spider (Spider 對象) – 被關閉的spider # 可選實現,當spider被關閉時,這個方法被調用啟用一個Item Pipeline組件
為了啟用Item Pipeline組件,必須將它的類添加到 settings.py文件ITEM_PIPELINES 配置,就像下面這個例子:
# Configure item pipelines # See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES = { #"mySpider.pipelines.SomePipeline": 300, "mySpider.pipelines.ItcastJsonPipeline":300 }
分配給每個類的整型值,確定了他們運行的順序,item按數字從低到高的順序,通過pipeline,通常將這些數字定義在0-1000范圍內(0-1000隨意設置,數值越低,組件的優先級越高)
重新啟動爬蟲將parse()方法改為入門簡介中最后思考中的代碼,然后執行下面的命令:
scrapy crawl itcast
查看當前目錄是否生成teacher.json
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41381.html
摘要:最近真是忙的吐血。。。上篇寫的是直接在爬蟲中使用,這樣不是很好,下使用才是正經方法。 最近真是忙的吐血。。。 上篇寫的是直接在爬蟲中使用mongodb,這樣不是很好,scrapy下使用item才是正經方法。在item中定義需要保存的內容,然后在pipeline處理item,爬蟲流程就成了這樣: 抓取 --> 按item規則收集需要數據 -->使用pipeline處理(存儲等) 定義it...
摘要:前言新接觸爬蟲,經過一段時間的實踐,寫了幾個簡單爬蟲,爬取豆瓣電影的爬蟲例子網上有很多,但都很簡單,大部分只介紹了請求頁面和解析部分,對于新手而言,我希望能夠有一個比較全面的實例。 0.前言 新接觸爬蟲,經過一段時間的實踐,寫了幾個簡單爬蟲,爬取豆瓣電影的爬蟲例子網上有很多,但都很簡單,大部分只介紹了請求頁面和解析部分,對于新手而言,我希望能夠有一個比較全面的實例。所以找了很多實例和文...
摘要:組件引擎負責控制數據流在系統中所有組件中流動,并在相應動作發生時觸發事件。下載器下載器負責獲取頁面數據并提供給引擎,而后提供給。下載器中間件下載器中間件是在引擎及下載器之間的特定鉤子,處理傳遞給引擎的。 Scrapy 是用Python實現一個為爬取網站數據、提取結構性數據而編寫的應用框架。 一、Scrapy框架簡介 Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 ...
摘要:內容如下是我們準備爬的初始頁這個是解析函數,如果不特別指明的話,抓回來的頁面會由這個函數進行解析。爬取多個頁面的原理相同,注意解析翻頁的地址設定終止條件指定好對應的頁面解析函數即可。后面的數字表示的是優先級。指明每兩個請求之間的間隔。 序 本文主要內容:以最短的時間寫一個最簡單的爬蟲,可以抓取論壇的帖子標題和帖子內容。 本文受眾:沒寫過爬蟲的萌新。 入門 0.準備工作 需要準備的東西:...
閱讀 3793·2021-11-12 10:34
閱讀 2812·2021-09-22 15:14
閱讀 778·2019-08-30 15:53
閱讀 3196·2019-08-30 12:53
閱讀 1280·2019-08-29 18:32
閱讀 2761·2019-08-29 16:41
閱讀 1056·2019-08-26 13:40
閱讀 1795·2019-08-23 18:07