0
私は掻き集めるURLの数をSitemapSpider
に取得しようとしています。私はstart_requests
メソッドをオーバーライドしようとしましたが、それは0を出力します。私は何千ものURLを含むsitemap_url
を持っています。私はこれらのURLの数を取得したい。スパイダー(詐欺)からURLを取得できません
これは私が試みたものですが、サイトマップの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の長さを数えます。私はサイトマップで見つかったURLの数を取得したい。出来ますか? –
可能ですが、まっすぐではありません。問題は、クラス内の '_parse_sitemap'によって処理されるサイトマップのURLをすべてダウンロードする必要があることです。ですから、それは可能ですが、まともな改造をしています。 'start_requests'メソッドでurlごとにレスポンスオブジェクトを作成し、' _parse_sitemap'を通してそれらを渡し、それらのジェネレータからリストを取得する必要があります。 –