2013-12-23 88 views
1

如何在我的scrapy項目中將定製蜘蛛中間件如何將自定義蜘蛛/下載中間件添加到scrapy

比方說,我想把this之一。作爲documentation說,我加入

SPIDER_MIDDLEWARES = { 'myproject.middlewares.IgnoreVisitedItems': 543,} 

到settings.py中和從上面的鏈接中spider文件夾代碼_init_.py

但我發現了:

ImportError: Error loading object 'myproject.middlewares.IgnoreVisitedItems': No module named middlewares

我試着this東西,但它沒;噸工作。

這是我項目結構

enter image description here

我應該如何得到這個定製中間件的工作?我只需要一個廣義方法來讓它工作,而不是專門爲這個項目。

+0

沒有足夠的信息來重新抓取他們,請分享你的目錄結構,像'樹myproject'在項目上父母會做 –

+0

@Guy添加了我的項目的樹狀結構。但我只需要一個通用的方法來爲所有** Spider/Downloader中間件** – mrudult

+0

確定,哪個文件具有'IgnoreVisitedItems'類代碼? –

回答

2

它似乎是你的目錄結構沒有一個叫middlewares文件作爲您的項目settings.py文件稱,此外,它似乎是你的項目名稱爲cnn,而不是myproject

,如果是這樣的話,你就必須做兩兩件事:

  1. 創建middlewares.py文件,並把IgnoreVisitedItems它,把它放在同一個目錄中items.py和pipelines.py
  2. 變化你設置SPIDER_MIDDLEWARES進入:

    SPIDER_MIDDLEWARES = { 'cnn.middlewares.IgnoreVisitedItems':543}

編輯:但是請注意,在大多數情況下scrapy會忽略默認訪問請求,除非你強迫它使用Request's dont_filter parameter

+0

好吧,我知道我已經把'myproject'放在了任何地方。不過,謝謝它工作正常。 – mrudult