簡體   English   中英

Python通過beautifulsoup抓取Expedia數據

[英]Python Scraping Expedia data by beautifulsoup

我正在嘗試從 expedia 抓取酒店數據。 例如,從 01/01/2020 到 01/03/2020 抓取加拿大卡文迪什的所有酒店鏈接。 但現在的問題是我只能20 個,實際上每個地方都包含 200+ 個。 示例網頁及其網址如下所示:

https://www.expedia.com/Hotel-Search?adults=2&destination=Cavendish%20Beach%2C%20Cavendish%2C%20Prince%20Edward%20Island%2C%20Canada&endDate=01%2F03%2F2020&latLong=496.52396-36.504 =6261119&rooms=1&sort=RECOMMENDED&startDate=01%2F01%2F2020

抓取代碼:

import lxml
import re
import requests
from bs4 import  BeautifulSoup
import xlwt
import pandas as pd
import numpy as np

url = 'https://www.expedia.com/Hotel-Search?adults=2&destination=Cavendish%20Beach%2C%20Cavendish%2C%20Prince%20Edward%20Island%2C%20Canada&endDate=01%2F03%2F2020&latLong=46.504395%2C-63.439669&regionId=6261119&rooms=1&sort=RECOMMENDED&startDate=01%2F01%2F2020'

header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'}

res = requests.get(url,headers=header)

soup = BeautifulSoup(res.content,'lxml')

t1 = soup.select('a.listing__link.uitk-card-link')

所以每個鏈接都存儲在<a class='listing__link.uitk-card-link' href=xxxxxxx> </a>里面的<li></li> ,html結構之間沒有區別,誰能解釋一下?

他們正在使用 API 調用來獲取接下來的 20 條記錄。 沒有辦法刮下接下來的 20 條記錄。

這是當您單擊“顯示更多”時他們正在使用的 API 詳細信息

接口鏈接

他們具有 API 身份驗證以使用 API 調用獲取數據。

注意:只有當您沒有任何 ajax 調用且沒有身份驗證方法時,抓取才有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM