Wpis z mikrobloga

#scrapy #python #programowanie

siema. nie wiem gdzie robię błąd. To nie pierwszy crawler jakiego piszę ale miałem długą przerwę i gdzieś daję ciała.

chcę ściągnąć ceny z castroramy. Dla przykładu niech będą to dywany. Korzystając z biblioteki #scrapy zadaję takie pytanie:

response.xpath('//span[contains(@class, "price-box__value")]/text()').extract()
niestety dostaję pustą listę.

link do strony jaką mam podpiętą pod fetcha: https://www.castorama.pl/produkty/urzadzanie/wykonczenie-podlogi/dywany.html

na załączonym zdjęciu widać, że zapytanie jest dobre. Nazwy tych dywanów pobiera mi tak jak trzeba.
k.....u - #scrapy #python #programowanie

siema. nie wiem gdzie robię błąd. To nie ...

źródło: comment_1636835231e29yHol9ahlIgnlpX5VkFm.jpg

Pobierz
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@koku: a próbowałeś wyrzucić to contains i po prostu wrzucić pełną nazwę klasy? Ewentualnie spróbuj cssem zamiast xpathem jeśli jest taka opcja
  • Odpowiedz
a próbowałeś wyrzucić to contains i po prostu wrzucić pełną nazwę klasy?


@Oleej: tak. tylko tam gdzie jest spacja w nazwie klasy wstawiałem kropkę. Muszę sobie przypomnieć jak zapytać cssem ;)
  • Odpowiedz
@koku: z tego co widzę, to przy odświeżaniu ceny pojawiają się jako ostatnie. Czyli jest możliwe, że ceny są wrzucane JavaScriptem lub czymś podobnym. Nie wiem jak scrapy, ale np. beautifulsoup tego nie znajdzie bo request jest bez danych 'dynamicznych'
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@koku: .price-value price-boxvalue
Ewentualnie
[class='price-value price-box
value']
Albo
[class*='price-box_value']
  • Odpowiedz