from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
class DmozSpider(BaseSpider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"www.dmoz.org/Computers/Programming/Languages/Python/Books/",
"www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//ul/li')
for site in sites:
title = site.select('a/text()').extract()
link = site.select('a/@href').extract()
desc = site.select('text()').extract()
print title, link, desc
これは私のコードです。私はループを使用してたくさんのURLを掻き集めることを望みます。では、どうやってこれらに挑戦しているのですか?私はそこに複数のURLを入れましたが、私はそれらのすべてから出力を得ていませんでした。一部のURLが応答を停止します。どうすればこのコードを使って確実にデータを取得できますか?ウェブサイトから複数のウェブページをクロールする
ご迷惑をおかけして申し訳ありませんが、ルールを定義しようとしましたが、それは実際の問題ではありません。私の問題は、start_urlsに供給するすべてのページの出力を取得する方法です。最初の3〜4ページのみ.csvファイルに出力されています。私は掻き取るために約20ページ近くあります。それで私はどうやってこれをすると思いますか?これらの3-4ページを掻き集めた後、私のプログラムはサーバーからの応答を受信しなくなります。 – Nits