другой результат в ответной оболочке - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь получить цену автомобиля, когда начинаю скрапить.

scrapy shell https://www.rentalcars.com/SearchResults.do?country=Argentina&doYear=2018&doFiltering=true&exSuppliers=&fromLocChoose=true&filterTo=49&dropLocationName=Buenos+Aires&emptySearchResults=false&ftsType=C&longitude=-58.3816&ftsLocationSearch=51&dropFtsSearch=L&doDay=25&chinese-license=on&searchType=allareasgeosearch&filterFrom=0&puMonth=9&dropFtsInput=buenos+&dropCountry=Argentina&puDay=24&dropFtsLocationSearch=51&puHour=10&doMonthYear=9-2018&dropFtsEntry=18908&filterCoordinates=-34.44103514%2C-58.8644886&enabler=&puMonthYear=9-2018&distance=10&reducedCategory=small&ftsEntry=18908&city=Buenos+Aires&ordering=price&latitude=-34.6038&filterName=CarCategorisationSupplierFilter&dropCity=Buenos+Aires&dropFtsType=C&ftsAutocomplete=Buenos+Aires%2C+Argentina&driversAge=30&dropFtsAutocomplete=Buenos+Aires%2C+Argentina&dropFtsLocationName=Buenos+Aires&dropCountryCode=&countryCode=&doMinute=0&advSearch=&filterAdditionalInfo=&puYear=2018&puSameAsDo=on&locationName=Buenos+Aires&puMinute=0&ftsInput=buenos+&coordinates=-34.6038%2C-58.3816&dropLocation=-1&doHour=10&dropCoordinates=-34.6038%2C-58.3816&ftsLocationName=Buenos+Aires&ftsSearch=L&location=-1&doMonth=9

fetch('https://www.rentalcars.com/SearchResults.do?country=Argentina&doYear=2018&doFiltering=true&exSuppliers=&fromLocChoose=true&filterTo=49&dropLocationName=Buenos+Aires&emptySearchResults=false&ftsType=C&longitude=-58.3816&ftsLocationSearch=51&dropFtsSearch=L&doDay=25&chinese-license=on&searchType=allareasgeosearch&filterFrom=0&puMonth=9&dropFtsInput=buenos+&dropCountry=Argentina&puDay=24&dropFtsLocationSearch=51&puHour=10&doMonthYear=9-2018&dropFtsEntry=18908&filterCoordinates=-34.44103514%2C-58.8644886&enabler=&puMonthYear=9-2018&distance=10&reducedCategory=small&ftsEntry=18908&city=Buenos+Aires&ordering=price&latitude=-34.6038&filterName=CarCategorisationSupplierFilter&dropCity=Buenos+Aires&dropFtsType=C&ftsAutocomplete=Buenos+Aires%2C+Argentina&driversAge=30&dropFtsAutocomplete=Buenos+Aires%2C+Argentina&dropFtsLocationName=Buenos+Aires&dropCountryCode=&countryCode=&doMinute=0&advSearch=&filterAdditionalInfo=&puYear=2018&puSameAsDo=on&locationName=Buenos+Aires&puMinute=0&ftsInput=buenos+&coordinates=-34.6038%2C-58.3816&dropLocation=-1&doHour=10&dropCoordinates=-34.6038%2C-58.3816&ftsLocationName=Buenos+Aires&ftsSearch=L&location=-1&doMonth=9')

Я пытаюсь получить значение

response.css('span[class="carResultRow_Price-now"]::text').extract()

, и результат некак показано на сайте

['\n\t\t                                ARS1,584.37']

правильное значение - 1563,03

1 Ответ

0 голосов
/ 23 сентября 2018

Конечно, этот сайт обрабатывает запросы по-разному в зависимости от заголовков или других данных клиента.Например.цена валюты зависит от вашего местоположения.Посмотрите ответ, который вы получили, используя браузер с командой:

view(response)

Цена должна совпадать с той, которую вы получили с помощью парсера Scrapy.

Вы можете попытаться сделатьзапрос должен выглядеть как можно ближе к запросу браузера (используя те же самые заголовки User-Agent и Accept), чтобы получить те же значения цены.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...