2010-12-16 12 views
3

私はチュートリアルを再現しようと試みたので、私はPythonとScrapyの完全な初心者です。私はチュートリアルに従ってwww.dmoz.orgのウェブサイトを削り取ろうとしています。スクリーニング初心者の質問 - チュートリアルファイルが動作しない

私は

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 

以下に示すようdmoz_spider.pyを構成し、どのような私は、ウェブサイトを経由して取得することになっていますことは違うものです。
私はどんな考えがありますか?

+0

何私が取得する。この2010-12-16 18:42:Scrapy 0.10.3が開始(ボット:DMOZ)[scrapy] INFO 29から0500 トレースバック(最新の最後の呼び出し): ファイル "c:¥Python27¥Scripts¥scrapy"、4行目、にあります。2010-12-16 18:42:29-0500 [scrapy] DEBUG:Enabled拡張機能:TelnetConsole、SpiderCont トレースバック 実行中 _run_print_help(パーサ、_run_command、cmd、args、opts) ファイル "c:\ Python27 \ lib \ site-packages \ scrapy \ cmdline.py"、行130、 ファイル "c:\ Python27 \ lib \ site-packages \ scr 「c:\ Python27 \ lib \ site-packages \ scrapy \ cmdline.py」(136行目)にある「apy \ cmdline.py」の行96を_run_print_helpの func(* a、** kw) – racket99

答えて

1

貼り付けたコードに問題はありません。問題は他の場所にあるはずです。出力全体を貼り付けることはできますか? (あなたのコメントは面白い部分が始まるところで止まる...)

7

私はこの問題を抱えていました。チュートリアルで行うように、以下の変更を加えたことを確認してください。

オープンitems.pyとあなたにクラス

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

を変更した場合は以下を参照してください

class DmozItem(Item): 
    title=Field() 
    link=Field() 
    desc=Field() 
0

あなたはsettings.pyファイルを含むディレクトリを行くと

scrapyを実行する必要がありますそこからdmozをクロールする。

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