我目前正在嘗試創建一個使用scrapy的小型web報廢原型。 我目前的問題與鏈接提取和跟隨有關。Scrapy深入爬行不起作用
我試圖讓scrapy探索頁面並找到頁面的鏈接(現在不是圖像和其他內容),但我不知道如何正確參數。
這是我使用的蜘蛛:似乎沒有找到頁面中的任何鏈接
class DefaultSpider(CrawlSpider):
name = "default"
session_id = -1
rules = [Rule(LinkExtractor(allow=()),callback='parse', follow=True)]
def start_requests(self):
#not relevent code that gives an URL list to be scrawled
for url in listurl:
#make scrappy follow only the current domain url.
self.rules[0].allow=url
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
page = Website(response.url,response.text)
DBInterface.store(page)
蜘蛛。我想我沒有按照正確的方式去做。我試圖將另一個函數作爲回調而不是解析方法。 (改變規則回調參數太)
def processlinks (self,response)
page = Website(response.url,response.text)
DBInterface.store(page)
編輯:更新代碼+正確認識冠軍。
我理解你的主張,但我想你是誤會了我的意思,我適當編輯的標題和我的代碼,以使其更清晰。我想做一個深入的感謝! – Neil
也許你沒有讀過我的答案的第一部分,但是當使用'CrawlSpider'時,你不能重寫'start_requests'和'parse'方法。我一直在你的代碼中看到這些,所以這可能是你的蜘蛛不工作的原因。 – eLRuLL
「我試圖將另一個函數作爲回調而不是解析方法(更改規則回調參數)」我引用。如果我重寫解析或使用另一個方法作爲回調,它的行爲方式相同。 – Neil