2016-10-19 6 views
0

Я новичок здесь. Недавно я хочу получить данные от Agoda, и у меня возникла проблема, связанная с тем, что agoda.com не предоставляет URL-адрес (или href) «следующей страницы». Поэтому я не собираюсь менять страницу. Теперь я получаю данные со страницы 1, но мне нужны данные со страницы 2, стр. 3 ... Помогает ли мне кто-нибудь. Мне нужны советы, инструменты или другие. Кстати, я использую python3 и win10.Пожалуйста, помогите мне и спасибо. Ниже приведен мой код.Как создать веб-искатель, чтобы получить несколько страниц из agoda, с python3

import requests 
import pandas as pd 

import csv 
from bs4 import BeautifulSoup 
from pandas import Series,DataFrame 
import unicodecsv 

def name1(): 
    url="https://www.agoda.com/zh-tw/pages/agoda/default/DestinationSearchResult.aspx?asq=%2bZePx52sg5H8gZw3pGCybdmU7lFjoXS%2baxz%2bUoF4%2bbAw3oLIKgWQqUpZ91GacaGdIGlJ%2bfxiotUg7cHef4W8WIrREFyK%2bHWl%2ftRKlV7J5kUcPb7NK6DnLacMaVs1qlGagsx8liTdosF5by%2fmvF3ZvJvZqOWnEqFCm0staf3OvDRiEYy%2bVBJyLXucnzzqZp%2fcBP3%2bKCFNOTA%2br9ARInL665pxj%2fA%2bylTfAGs1qJCjm9nxgYafyEWBFMPjt2sg351B&city=18343&cid=1732641&tag=41460a09-3e65-d173-1233-629e2428d88e&gclid=Cj0KEQjwvve_BRDmg9Kt9ufO15EBEiQAKoc6qlyYthgdt9CgZ7a6g6yijP42n6DsCUSZXvtfEJdYqiAaAvdW8P8HAQ&tick=636119092231&isdym=true&searchterm=%E5%A2%BE%E4%B8%81&pagetypeid=1&origin=TW&cid=1732641&htmlLanguage=zh-tw&checkIn=2016-10-20&checkOut=2016-10-21&los=1&rooms=1&adults=2&children=0&isFromSearchBox=true&ckuid=1b070b17-86c2-4376-a4f5-d3b98fc9cf45" 
    source_code=requests.get(url)           
    plain_text=source_code.text           
    soup=BeautifulSoup(plain_text,"lxml")           
    hotelname=soup.find_all("h3",{"class":"hotel-name"}) 
    f = csv.writer(open("test.csv", "w",newline='')) 
    f.writerow(["hotelname","address"]) 
    p = [] 
    for N in hotelname: 
     a=N.string.strip() 
     f.writerow([a]) 

ответ

0

Осмотрите в средствах разработки браузера, что происходит, когда вы нажимаете следующую кнопку.

У этого есть событие click, которое отправляет xhr сообщение с большим количеством параметров. Один из параметров: PageNumber. Большинство значений параметров легко получить, возможно, кроме SearchMessageID, которые вы должны найти где-то на странице или генерируется javascript.