3

私は Python と Scrapy の完全な初心者なので、チュートリアルを再現することから始めました。チュートリアルに従って、www.dmoz.org Web サイトをスクレイピングしようとしています。

以下に示すように dmoz_spider.py を構成します

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector

from dmoz.items import DmozItem

class DmozSpider(BaseSpider):
   name = "dmoz.org"
   allowed_domains = ["dmoz.org"]
   start_urls = [
       "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
       "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
   ]

   def parse(self, response):
       hxs = HtmlXPathSelector(response)
       sites = hxs.select('//ul/li')
       items = []
       for site in sites:
           item = DmozItem()
           item['title'] = site.select('a/text()').extract()
           item['link'] = site.select('a/@href').extract()
           item['desc'] = site.select('text()').extract()
           items.append(item)
       return items

そして、私がウェブサイト経由で取得することになっているものは、何か違うものです.
私が何を台無しにしているのか分かりますか?

4

3 に答える 3

7

この問題がありました。チュートリアルで行うように、以下の変更を行ったことを確認してください。

items.py を開き、クラスを変更したかどうかを確認します

class TutorialItem(Item):
    title=Field()
    link=Field()
    desc=Field()

の中へ:

class DmozItem(Item):
    title=Field()
    link=Field()
    desc=Field()
于 2012-08-30T02:11:38.000 に答える
1

貼り付けたコードに問題はありません。問題は別の場所にあるはずです。取得した出力全体を貼り付けていただけますか? (あなたのコメントは興味深い部分が始まるところで止まります...)

于 2010-12-24T04:59:10.777 に答える
0

settings.py ファイルを含むディレクトリに移動して実行する必要があります

そこからスクレイピークロールdmoz。

明確にするために、 https://github.com/scrapy/dirbotに対してプロジェクトの構造に従ってください

于 2013-09-03T07:08:57.267 に答える