@skull_pain: generalnie to trzeba zamykać tymi, którymi się otwieraja. Nie ma znaczenia czym zaczniesz ale zamieniłem je tak jak są w wierszu 14 i dalej ten sam problem.
@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'
@Spofity: kolego podzieliłbyś się kodem z selenium jaki napisałeś? muszę to ogarnąć w ten sposób a nigdy wcześniej z tego nie korzystałem. Z góry dziękuje.
Fejk bądź nie - Stanowski to pisowski sprzedawczyk co regularnie bywał w Orlenie na dywaniku Obajtka, partycypował w kasie z TVPIS i Funduszu Sprawiedliwości.
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.
`contains(@class='price-box_value')'
nie zadziałałoby?
@saviola7: sorki, nie czaję :)
@avoner: niestety wtedy crawler sie wywala całkowicie.
@Oleej: tak. tylko tam gdzie jest spacja w nazwie klasy wstawiałem kropkę. Muszę sobie przypomnieć jak zapytać cssem ;)
Ewentualnie
[class='price-value price-boxvalue']
Albo
[class*='price-box_value']
https://www.castorama.pl/bold_all/data/getProductPriceStockByStore/?isAjax=true&store=1&typeBlock=recommended&needData=1144428,1144427,1144426,1144425,1144424,1144423,1108705,1108702,1107172,1098690,1098684,1098683,1098682,1055998,1055997,1055995,1055994,1055982,1055971,1055970,1029408,1021517,1015206,1005872,1005398,87198,86963,86961,86957,86956,86955,86954,86953,86952,86950,86948,46123