0

私はScrapyが初めてです。ここで私のスパイダーがtwistedwebをクロールします。

class TwistedWebSpider(BaseSpider):

    name = "twistedweb3"
    allowed_domains = ["twistedmatrix.com"]
    start_urls = [
        "http://twistedmatrix.com/documents/current/web/howto/",
    ]
    rules = (
        Rule(SgmlLinkExtractor(),
            'parse',
            follow=True,
        ),
    )
    def parse(self, response):
        print response.url
        filename = response.url.split("/")[-1]
        filename = filename or "index.html"
        open(filename, 'wb').write(response.body)

を実行する scrapy-ctl.py crawl twistedweb3と、フェッチのみが行われました。

index.htmlコンテンツを取得して、 を使用しSgmlLinkExtractorてみました。期待どおりにリンクを抽出しますが、これらのリンクをたどることはできません。

どこが間違っているのか教えてもらえますか?

css、javascriptファイルを取得したいとします。どうすればこれを達成できますか? 完全なウェブサイトを取得するという意味ですか?

4

1 に答える 1

4

rules属性はCrawlSpider.Useに属しclass MySpider(CrawlSpider)ます。また、使用するCrawlSpider場合はメソッドをオーバーライドしてはならずparse、代わりにparse_responseまたは他の同様の名前を使用してください。

于 2010-08-19T04:58:53.890 に答える