0

Scrapy 用の次のスパイダーがあります。サイトマップのトップ レベルのページだけでなく、それらのページの第 1 レベルの子であるページもスクレイピングする必要があります。次に、子のスクレイプの結果を、親の parse メソッドからの body 項目と連結する必要があります。このようなことを行うためのコードを手伝ってくれる人はいますか?

from scrapy.contrib.spiders import SitemapSpider
from scrapy.selector import HtmlXPathSelector
from cvorgs.items import CvorgSite

class CvorgSpider(SitemapSpider):
  name = 'cvorg_spider'
  sitemap_urls = ["http://www.urbanministry.org/cvorg_urls.xml"]

  def parse(self, response):
   hxs = HtmlXPathSelector(response)
   item = CvorgSite()
   item['url'] = response.url
   item['title'] = hxs.select('//title/text()').extract()
   item['meta'] = hxs.select('/html/head/meta[@name="description"]/@content').extract()
   body = ' '.join(hxs.select('//body//p//text()').extract())
   item['body'] = body.replace('"', '\'');
   return item
4

1 に答える 1