初心者プログラミング/ Python36。 OS:Windows 10Scrapy Spiderがすべての要素を返さない
私はScrapyにスパイダーを書きました。私のjsonファイルはいくつかの値しか返しません。それは私には、xpathの構文が正しいと思うが、私は何が間違っているように見えることができません。
This questionこれは私のコードスニペットでは問題ではないので、何の助けにもなりませんでした。
コード+出力:誰もがここで間違っているものをスポット
コード
# -*- coding: utf-8 -*-
import scrapy
class OfriSpider(scrapy.Spider):
name = "ofri"
allowed_domains = ["www.ofri.ch/firmen"]
start_urls = ['http://www.ofri.ch/firmen/Abbruchunternehmen/']
def parse(self, response):
entries_description = response.xpath('//div[@class="directory-entry"]//div[@class="directory-entry-description"]')
for entry_description in entries_description:
company_name = entry_description.xpath('.//h2/a/text()').extract()
address_street = entry_description.xpath('.//p[@itemprop="address"]/span[@itemprop="streetAddress"]/text()').extract()
zip_locality = entry_description.xpath('.//p[@itemprop="address"]/span[@itemprop="addressLocality"]/text()').extract()
contact_data = entry_description.xpath('.//*[@id="business_directory_contact_data"]/div/ul').extract_first()
tel = entry_description.xpath('.//span[@itemprop="telephone"]//text()').extract()
company_url = entry_description.xpath('.//a[@itemprop="url"]/@href').extract()
yield{'name':company_name,
'street':address_street,
'zip_locality':zip_locality,
'tel':tel,
'url':company_url}
出力
[
,
{"name": ["Eugen Schnabel Transport & Transfer"], "street": ["Talstrasse 24"], "zip_locality": ["8885 Mols"], "tel": ["0041767198236"], "url": []},
,
,
{"name": ["Hanna-reinigung"], "street": ["Schlierenstrasse 48"], "zip_locality": ["8902 Urdorf"], "tel": ["0799481971"], "url": []},
,
{"name": ["Malergesch\u00e4ft Peic"], "street": ["Affolternstrasse 60"], "zip_locality": ["8105 Regensdorf"], "tel": ["0764824149"], "url": []},
,
,
,
,
{"name": ["Einzelfirma, Michael Heidelberger"], "street": ["Dorfstrasse 151"], "zip_locality": ["8424 Embrach"], "tel": ["0787907234"], "url": []},
{"name": ["ASS Immo + Bau GmbH"], "street": ["Tretteliweg 3b"], "zip_locality": ["8305 Dietlikon"], "tel": ["0764029370"], "url": []},
,
,
{"name": ["Baumontagen R. Schneiter"], "street": ["Jonenbachstrasse 7"], "zip_locality": ["8911 Rifferswil"], "tel": ["0796552188"], "url": []},
{"name": ["Plus Bau & GU GmbH"], "street": ["Wiesentrasse 83"], "zip_locality": ["3014 Bern"], "tel": ["0763462153"], "url": []},
,
,
]
?
私はあなたのクモを実行し、それはあなたが表示されている情報を取得していません。 – eLRuLL
私はスパイダーを実行し、私はすべてのデータを取得します。 Linux Mint 18.2、Python 3.6.2、Scrapy 1.4.0 – furas
@eLRuLLどのような情報を取得していますか?ページ上のすべての結果は単なるまたはそれ以上のものですか? スパイダーを走らせていただきありがとうございます。 – RichardPoe