python带你获取TripAdvisor旅游景点的真实评价

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

猫途鹰(TripAdvisor)是一个旅游点评网站,

如果您想要爬取该网站的数据,需要了解该网站的访问规则和爬取限制。

所使用软件工具:

  • python 3.8 运行代码

  • pycharm 2022.3.2 辅助敲代码 专业版

代码实现

针对猫途鹰网站,可以使用Python的第三方库Selenium模拟浏览器行为,模拟用户在网站上进行的操作,从而获取数据。

以下是一个简单的实现过程:

1. 安装必要的库:Selenium和BeautifulSoup

pip install selenium beautifulsoup4

第三方模块安装:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在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)

请注意,具体的爬取过程可能随着网站的改变而变化,请您自己进行具体的分析和处理。

本人只是提供一个简单的实现过程供参考。

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
Python爬取马蜂窝旅游景点信息通常涉及到网络爬虫技术,你可以使用如BeautifulSoup、Scrapy等库来抓取和解析网页数据。首先,你需要获取到包含景点信息的HTML页面,然后分析页面结构找到包含景点名称、简介、评分等关键信息的元素。 下面是一个简单的步骤概述: 1. **安装所需库**:安装`requests`用于发送HTTP请求,`beautifulsoup4`用于解析HTML。 ``` pip install requests beautifulsoup4 ``` 2. **编写脚本**: ```python import requests from bs4 import BeautifulSoup def get_tripAdvisor_info(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 查找并提取景点信息的CSS选择器或XPath表达式 title_element = soup.find('div', class_='poi-title') # 根据实际页面调整 description_element = soup.find('p', class_='attraction-description') # 类似地查找描述 rating_element = soup.find('span', itemprop='ratingValue') # 评分信息 title = title_element.text.strip() if title_element else None description = description_element.text.strip() if description_element else None rating = rating_element.text.strip().replace(',', '') if rating_element else None return {'title': title, 'description': description, 'rating': rating} url_example = "https://www.mafengwo.cn/tourism/attract/index.html" # 马蜂窝景点URL result = get_tripAdvisor_info(url_example) print(result) ``` 3. **处理异常和分页**: - 考虑网站的反爬策略,可能需要设置User-Agent、代理IP,甚至登录模拟。 - 如果有分页,需要循环发送请求,处理下一页链接。 注意:在实际操作中,遵守网站的robots.txt规则,尊重版权,并确保您的行为符合道德和法律规范。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值