前言
猫途鹰(TripAdvisor)是一个旅游点评网站,如果您想要爬取该网站的数据,需要了解该网站的访问规则和爬取限制。
代码实现
针对猫途鹰网站,可以使用Python的第三方库Selenium
模拟浏览器行为,模拟用户在网站上进行的操作,从而获取数据。以下是一个简单的实现过程:
1. 安装必要的库:Selenium和BeautifulSoup
pip install selenium beautifulsoup4
2. 下载对应浏览器的webdriver,安装到系统中
# 以Chrome浏览器调用为例
# 下载对应管理器
from selenium import webdriver
driver_path = "/path/to/chromedriver"
options=webdriver.ChromeOptions()
options.add_argument('--no-sandbox') # 以root模式下不是必须的,非root模式下才有必要
browser = webdriver.Chrome(executable_path=driver_path, options=options)
3. 发送HTTP请求,获取目标页面数据
url = "https://www.tripadvisor.cn/Attractions-g186338-Activities-London_England.html#FILTERED_LIST"
browser.get(url)
html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
4. 解析HTML页面,获取所需数据
results = []
for element in soup.find_all("div", class_="listItem"):
name = element.find("div", class_="listing_title").text
rating = element.find("span", class_="ui_bubble_rating")['class'][1][1]
review_count = element.find("a", class_="review_count").text.split(" ")[0]
results.append((name, rating, review_count))
5. 采集数据并保存,便于之后的处理和分析
df = pd.DataFrame(results, columns=["name", "rating", "review_count"])
df.to_csv("tripadvisor_data.csv", index=False)
请注意,具体的爬取过程可能随着网站的改变而变化,请您自己进行具体的分析和处理。本人只是提供一个简单的实现过程供参考。