2015-12-01 2 views
-1

Я пытаюсь скопировать данные с quikbook.com. Я могу очистить первую страницу имен гостиниц, но я не знаю, как перейти на вторую страницу. Это тег кнопки следующей страницы:scrape несколько страниц веб-сайт с python и beautifulsoup

<a id="nextLink" href="javascript:void(0)" cachekey="62707097:1515f4a1462:2e0c" cachelocation="10.186.170.117:7300" class="btn b-tertiary"><span>Next Page</span></a> 

Мои вопросы: 1) как получить сценарий, связанные с JavaScript: недействительным (0) 2), как перейти на вторую страницу. Я попытался найти номер страницы с помощью инструмента проверки Chrome, но номер страницы отсутствует. Любая помощь действительно оценена

ответ

0

Для чего-то вроде этого было бы лучше использовать инструмент веб-драйвера, такой как селен. Если вы хотите сделать это только с красивым супом, вы можете взломать его с помощью модификации URL.

Если вы посмотрите на URL-адрес страниц, вы заметите, что на следующей странице есть cachelocation и chachekey. Вот пример URL:

http://www.quikbook.com/availabilitySearchNewYorkA?marketId=0&arrivalDate=12%2F02%2F2015&nbNights=1&nbRooms=1&nbAdults=1&radius=0&lat=0.0&lon=0.0&nbChildren=0&location=New+York&sort=OVERALL_VALUE&hotelId=0&minPrice=0&maxPrice=500&starRatingMin=1.0&includeCashbackHotel=true&starRatingMax=5.0&cacheLocation=10.178.144.41%3A7300&cacheKey=698fae78%3A151602773ee%3A-301&showMapTab=&propertyName=&destinationId=

Следующая кнопка на этой странице:

<a id="nextLink" href="javascript:void(0)" cachekey="-1df6c48d:1516012d60d:6b74" cachelocation="10.186.170.66:7300" class="btn b-tertiary"><span>Next Page</span></a> 

Замените их в приведенном выше URL:

&cacheLocation=10.186.170.66%3A7300 &cacheKey=-1df6c48d%3A1516012d60d%3A6b74

и вы получить URL-адрес следующей страницы

http://www.quikbook.com/availabilitySearchNewYorkA?marketId=0&arrivalDate=12%2F02%2F2015&nbNights=1&nbRooms=1&nbAdults=1&radius=0&lat=0.0&lon=0.0&nbChildren=0&location=New+York&sort=OVERALL_VALUE&hotelId=0&minPrice=0&maxPrice=500&starRatingMin=1.0&includeCashbackHotel=true&starRatingMax=5.0&cacheLocation=10.186.170.66%3A7300&cacheKey=-1df6c48d%3A1516012d60d%3A6b74&showMapTab=&propertyName=&destinationId=

Обратите внимание, что : был заменен %3A поэтому URL может справиться с этим.

+0

Большое спасибо, но моя проблема заключается в том, чтобы получить эти кеш-кеши и кэширование при автоматизации. Как вы предположили, я пытаюсь использовать селен, и это кажется намного проще. –

Смежные вопросы