[英]Python Scraping Expedia data by beautifulsoup
我正在嘗試從 expedia 抓取酒店數據。 例如,從 01/01/2020 到 01/03/2020 抓取加拿大卡文迪什的所有酒店鏈接。 但現在的問題是我只能刮20 個,實際上每個地方都包含 200+ 個。 示例網頁及其網址如下所示:
抓取代碼:
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®ionId=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.