私はウェブサイトをスクレイピングしています、そしてそれはOがデータをフェッチする必要がある多くのURLを含んでいます。XPathを使用して、すべてhref
の(URL)をフェッチし、リストに保存しました。このリストをループして、リクエストを生成しました。以下は私のスパイダーコードです、
class ExampledotcomSpider(BaseSpider):
name = "exampledotcom"
allowed_domains = ["www.example.com"]
start_urls = ["http://www.example.com/movies/city.html"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
cinema_links = hxs.select('//div[@class="contentArea"]/div[@class="leftNav"]/div[@class="cinema"]/div[@class="rc"]/div[@class="il"]/span[@class="bt"]/a/@href').extract()
for cinema_hall in cinema_links:
yield Request(cinema_hall, callback=self.parse_cinema)
def parse_cinema(self, response):
hxs = HtmlXPathSelector(response)
cinemahall_name = hxs.select('//div[@class="companyDetails"]/div[@itemscope=""]/span[@class="srchrslt"]/h1/span/text()').extract()
........
たとえば、リストに60個のURLがあり、約37個のURLがダウンロードされていません。これらの場合、エラーメッセージが表示されます。
2012-06-06 14:00:12+0530 [exampledotcom] ERROR: Error downloading <GET http://www.example.com/city/Cinema-Hall-70mm-%3Cnear%3E-place/040PXX40-XX40-000147377847-A6M3>: Error -3 while decompressing: invalid stored block lengths
2012-06-06 14:00:12+0530 [exampledotcom] ERROR: Error downloading <GET http://www.example.com/city/Cinema-Hall-35mm-%3Cnear%3E-place/040PXX40-XX40-000164969686-H9C5>: Error -3 while decompressing: invalid stored block lengths
Scrapyがダウンロードしている一部のURLについてのみ、残りのURLについては、コードの何が起こっているのか、何が間違っているのかがわかりません。
誰かがこれらのエラーを取り除く方法を教えてもらえますか?