Jestem stosunkowo nowy w używaniu Scrapy lub Pythona. Szukam wyodrębnić z kilku różnych linków i mam problemy przy użyciu wyrażenia HTMLXPathSelector (składni). Rozważałem obszerną dokumentację dla poprawnej składni, ale jeszcze nie znalazłem rozwiązania.Scrapy - ekstrakt zagnieżdżony "img src" przy użyciu xPathSelector
Oto przykład łącza Próbuję wyodrębnić img src „” z:
Page I am trying to extract the img src url from
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
class GeekSpider(BaseSpider):
name = "geekS"
allowed_domains = ["geek.com"]
start_urls = ["http://www.geek.com/articles/gadgets/kindle-fire-hd-8-9-on-sale-for-50-off-today-only-20121210/"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
imgurl = hxs.select("//div[@class='article']//a/img/@src").extract()
return imgurl
Myślę, że zorientowali się, składni dla x.select oświadczenie, ale ponieważ jestem nowy w tej składni/metody, nie jestem pewien.
Oto moja items.py plik, a następnie w zasadzie tutorial scrapy dla tego:
from scrapy.item import Item, Field
class GeekItem(Item):
imgsrc = Field()
do wyjaśnienia: Co szukam zrobić to wyodrębnić img src URL, który znajduje się na stronie. Nie muszę wyodrębniać wszystkich obrazów src, które już wymyśliłem (o wiele łatwiej).
Po prostu szukam tego, aby zawęzić i wyodrębnić ten konkretny URL pliku img src. (użyję tego na wielu stronach w tej witrynie)
Każda pomoc jest bardzo doceniana!
EDIT - Aktualizacja Code ja dostawałem jakieś błędy składniowe z maniakiem = maniakiem(), więc zmienił go lekko do nadzieją być łatwiejsze do zrozumienia i funkcja
A więc chcesz tylko obraz, który jest klikalnym linkiem (np. "Kindle-fire-hd.jpg")? – Talvalin
Tak, dokładnie. Nie chcę nawet zwracać samego obrazu, tylko adres URL obrazu, żeby go zapisać. – Twhyler
Aby uniknąć nieporozumień, zaktualizuj pierwszy opublikowany kod pająka i usuń drugi. :) – Talvalin