Ich habe Scrapy versucht und bin absolut begeistert. Eines der Dinge, mit denen ich es teste, scheint jedoch nicht zu funktionieren.Scrapy: '// select/option' XPath liefert keine Ergebnisse
Ich versuche, eine Seite (apple.com, zum Beispiel) zu kratzen und eine Liste der Tastaturoptionen zur Verfügung, mit dem einfachen XPath
//select/option
Bei der Verwendung von Chrome Konsole speichern, unter der Website kommt zurück mit einem Array von Auswahlen, die ich leicht durchlaufen kann, aber wenn ich scrapy.response.xpath ('// select/option') über den Scraper oder über die Konsole, bekomme ich nichts zurück.
Mein Code für den Schaber ein bisschen wie das unten schaut (hrsg Einfachheit halber)
import scrapy
from scrapy.linkextractors import LinkExtractor
from lxml import html
from apple.items import AppleItem
class ApplekbSpider(scrapy.Spider):
name = 'applekb'
allowed_domains = ['apple.com']
start_urls = ('http://www.apple.com/ae/shop/buy-mac/imac?product=MK482&step=config#',)
def parse(self, response):
for sel in response.xpath('//select/option'):
item = AppleItem()
item['country'] = sel.xpath('//span[@class="as-globalfooter-locale-name"]/text()').extract()
item['kb'] = sel.xpath('text()').extract()
item['code'] = sel.xpath('@value').extract()
yield item
Wie Sie sehen Ich versuche, den Code und Text für jede Option zu bekommen, zusammen mit der Website " Gebietsschema Name "(Land).
Als Randnotiz habe ich mit CSS-Selektoren vergeblich versucht. Weiß jemand, was ich vermisse?
Vielen Dank im Voraus, A
Aha! Genau das sehe ich in Scrapy! Danke für den Tipp. Nun, gibt es irgendeinen Weg für Scrapy, um das Richtige zu bekommen? Oder sollte ich zu Selenium wechseln? – Antonio