Neuling zur Programmierung/Python36. OS: Windows 10Scrapy Spider gibt nicht alle Elemente zurück
Ich schrieb eine Spinne in Scrapy und meine JSON-Datei gibt nur einige der Werte zurück. Es lässt mich denken, dass die XPath-Syntax korrekt ist, aber ich kann nicht finden, was falsch ist.
This question war überhaupt keine Hilfe, da dies nicht das Problem mit meinem Code-Snippet ist.
-Code + Ausgang:
-Code
# -*- 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}
Ausgabe
[
,
{"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": []},
,
,
]
Jeder Flecken, was hier falsch ist?
lief ich Ihre Spinne, und es ist nicht immer die Informationen, die Sie zeigen. – eLRuLL
Ich spinne Spinne und ich bekomme alle Daten. Linux Mint 18.2, Python 3.6.2, Scrapy 1.4.0 – furas
@eLRuLL Welche Informationen erhalten Sie? Alle Ergebnisse auf der Seite nur oder mehr/weniger? Danke, dass du dir die Zeit genommen hast, die Spinne zu laufen. – RichardPoe