0

私はスクレイプフレームワークに不慣れです。彼らは私がさまざまなことについて学んだこの素晴らしいドキュメントを持っています。私はさまざまな教育ウェブサイトを深さレベル3までカールさせようとしています。各ウェブサイトで、cse部門を見つけます(cseまたはコンピューター、またはそのページで削られたリンクの単語のリストを見つけてください)。Webサイトにcse部門がある場合、それらのリンクまたはURLは.csvファイルに保存されます。これまでの私のコードは次のとおりです。

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

from dirbot.items import Website


class DmozSpider(BaseSpider):
    name = "dmoz"
    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 = Website()
            item['name'] = site.select('a/text()').extract()
            item['url'] = site.select('a/@href').extract()
            item['description'] = site.select('text()').extract()
            items.append(item)

        return items

問題は次のとおりです。allowed_domainsで、.csvファイルに保存されている1000を超えるWebサイトをクロールしたい。csvファイルをインポートして各URLを繰り返し処理したいと思います。どうやってやるの?cs部門がある場合は、それらのリンクをcsvファイルに書き込む必要があります。XPathを変更して各Webサイトでcse部門(cseまたはコンピューターまたはそのページでスクレイピングされたリンク内の単語のリストを検索する)を見つけるにはどうすればよいですか?条件を適用する場所(リンクにcse部門がそのリンクをファイルに書き込む場合)それ以外の場合はそうではありません。)最後に、スクレイピングで深さを指定するにはどうすればよいですか?ありがとうまた、ファイルで単語検索技術を定義し、それをスクレイプで使用することは可能ですか?

4

1 に答える 1

0

「start_urls」は単なるリストです。init をオーバーライドし、csv を読み取り、リストを組み立てます。

于 2012-11-08T07:07:03.957 に答える