Scrapyを使用してクロールを繰り返すのに問題があります。タイトルフィールドとコンテンツフィールドを抽出しています。問題は、すべてのタイトルがリストされ、次にすべてのコンテンツがリストされたJSONファイルを取得することです。{title}、{content}、{title}、{content}を取得したいのですが、これはおそらく解析関数を反復処理する必要があることを意味します。問題は、ループしている要素(つまり)がわからないことですfor x in [???]
。コードは次のとおりです。
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.spiders import SitemapSpider
from Foo.items import FooItem
class FooSpider(SitemapSpider):
name = "foo"
sitemap_urls = ['http://www.foo.com/sitemap.xml']
#sitemap_rules = [
def parse(self, response):
hxs = HtmlXPathSelector(response)
items = [
item = FooItem()
item['title'] = hxs.select('//span[@class="headline"]/text()').extract()
item['content'] = hxs.select('//div[@class="articletext"]/text()').extract()
items.append(item)
return items