如何使用python3创建一个web爬虫程序从agoda获取多个页面

2024-09-27 00:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。最近,我想从Agoda获取数据,但我遇到了一个问题agoda.com网站不要提供“下一页”的url(或href)。所以我不知道换一页。现在,我只从第1页得到数据,但我需要第2页、第3页的数据。。。 有人帮我吗。我需要一些建议,工具或其他。顺便说一下,我用的是Python3和win10。请帮帮我,谢谢。 下面是我目前的代码。在

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])

Tags: csv数据textfromimportcomurlpandas
1条回答
网友
1楼 · 发布于 2024-09-27 00:19:14

在浏览器开发工具中仔细检查单击“下一步”按钮时会发生什么。在

它有一个click事件,它发送带有许多参数的xhr post请求。其中一个参数是PageNumber。参数的大多数值都很容易获得,可能除了SearchMessageID之外,您必须在页面上的某个地方找到它,或者是由javascript生成的。在

相关问题 更多 >

    热门问题