0
我想要獲取的網址數量在SitemapSpider
之間。我試圖覆蓋start_requests
方法,但它打印0.我有一個sitemap_url
其中包含數千個網址。我想得到這些網址的數量。從蜘蛛(Scrapy)無法獲取網址
這是我嘗試過的,但我想從站點地圖的Url不在start_urls。
class MainSpider(SitemapSpider):
name = 'main_spider'
allowed_domains = ['...']
sitemap_urls = ['http://.../sitemap.xml']
def start_requests(self):
r = super(MainSpider, self).start_requests()
self.urls_count = len(self.start_urls)
print self.urls_count
return r
你知道如何獲得數字嗎?
這會計算sitemap_urls的長度。我想獲取Sitemap中找到的網址數量。可能嗎? –
這是可能的,但不是直截了當的。問題是您需要下載所有這些網站地圖網址,然後由您的班級中的_parse_sitemap進行處理。所以這是可能的,但體面的修改。您需要爲'start_requests'方法中的每個url創建一個響應對象,然後通過'_parse_sitemap'傳遞它們並從這些生成器中獲取列表。 –