私はスクレイプフレームワークに不慣れです。彼らは私がさまざまなことについて学んだこの素晴らしいドキュメントを持っています。私はさまざまな教育ウェブサイトを深さレベル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部門がそのリンクをファイルに書き込む場合)それ以外の場合はそうではありません。)最後に、スクレイピングで深さを指定するにはどうすればよいですか?ありがとうまた、ファイルで単語検索技術を定義し、それをスクレイプで使用することは可能ですか?