1

これは私のスパイダーコードです

 class DmozSpider(BaseSpider):
  5     name = "dmoz"
  6     allowed_domains = ["dmoz.org"]
  7     start_urls = [
  8             "file:///home/ubuntu/xxx/test.html",
  9             ]
 10     def parse(self, response):
 11         hxs = HtmlXPathSelector(response)
 12         sites = hxs.select("//li")
 13         items = []
 14         for site in sites:
 15
 16             item = DmozItem()

 17             item['title'] = site.select('a/text()').extract()
 18             item['link'] = site.select('a/@href').extract()
 19             item['desc'] = site.select('text()').extract()
 20             items.append(item)
 21         return items

サイトをライブでクロールするため、 name: {{name}} , link={{link }} for tetsing のようなログ ファイルにデータを書き込みたいと思います。

どうやってやるの

4

1 に答える 1

7

これが答えですが、既に持っているコードをコピーしただけだと思います。そうでない場合は、ファイル IO の使い方を知っているか、少なくともこのサイトだけで何百万回も取り上げられているトピックを調査する能力があるはずです。

...
item['title'] = site.select('a/text()').extract()
item['link'] = site.select('a/@href').extract()
item['desc'] = site.select('text()').extract()
items.append(item)
with open('log.txt', 'a') as f:
  f.write('name: {0}, link: {1}\n'.format(item['title'], item['link']))
于 2012-11-12T07:37:35.163 に答える