前言
嗨喽,大家好呀~这里是爱看美女的茜茜呐
猫途鹰(TripAdvisor)是一个旅游点评网站,
如果您想要爬取该网站的数据,需要了解该网站的访问规则和爬取限制。
所使用软件工具:
-
python 3.8 运行代码
-
pycharm 2022.3.2 辅助敲代码 专业版
代码实现
针对猫途鹰网站,可以使用Python的第三方库Selenium模拟浏览器行为,模拟用户在网站上进行的操作,从而获取数据。
以下是一个简单的实现过程:
1. 安装必要的库:Selenium和BeautifulSoup
pip install selenium beautifulsoup4
第三方模块安装:
-
win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
-
在pycharm中点击Terminal(终端) 输入安装命令
如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:
pip install -i https://pypi.doubanio.com/simple/ requests
python资料、源码、教程\福利皆: 点击此处跳转文末名片获取
2. 下载对应浏览器的webdriver,安装到系统中
# 以Chrome浏览器调用为例
# 下载对应管理器
from selenium import webdriver
driver_path = "/path/to/chromedriver"
options=webdriver.ChromeOptions()
options.add_argument('--no-sandbox') # 以root模式下不是必须的,非root模式下才有必要
完整源码、解答、教程皆+VX:pytho8987获取,记得验证备注“777”
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)
请注意,具体的爬取过程可能随着网站的改变而变化,请您自己进行具体的分析和处理。
本人只是提供一个简单的实现过程供参考。
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。