Python爬取TripAdvisor

article/2025/9/26 16:34:42

直接上代码:

#爬取tripadvisor纽约市酒店超值排名#引入requests 获取html文件,才能从html获取信息
import requests
#利用BeautifulSoup解析文件,获取想要的到的数据
from bs4 import BeautifulSoup
#这段代码只用在获取等待,避免频繁访问ip被封禁
import time#url = 'https://www.tripadvisor.cn/Hotels-g60763-oa30-New_York_City_New_York-Hotels.html'
#获取全部的url。每一页的url不同
urls = ['https://www.tripadvisor.cn/Hotels-g60763-oa{}-New_York_City_New_York-Hotels.html'.format(str(i)) for i in range(0,720,30)]
#利用headers假装是浏览器,可以在网页检查,NetWork里面找
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}#定义函数找到所需要的信息
def get_hotel(url):
#每次调用等待两秒
time.sleep(2)
#利用requests请求的到html
resp = requests.get(url)
#利用BeautifulSoup解析,利用率lxml解析库
soup = BeautifulSoup(resp.text,'lxml')#css选选择器选择所需要的信息,包括标题,价格,和排名
#imgs = soup.select('div.aspect.is-hidden-tablet > div.inner')
titles = soup.select('div.listing_title > a[target="_blank"]')
paimings = soup.select('div.popindex')
prices = soup.select('div.xwrap')#存储在一个字典里面
for title,paiming,price in zip(titles,paimings,prices):data = {'title':title.get_text(),'paiming':paiming.get_text(),'price':price.get_text(),}print(data)#对每一个页面都爬取,
for url in urls:
get_hotel(url)

运行结果:
这里写图片描述

爬取内容太粗糙,但可以给初学者看看;


http://chatgpt.dhexx.cn/article/UgLmbxn9.shtml

相关文章

猫途鹰公布2023年全球十大最佳旅行体验和十大顶级景点 | 美通社头条

美通社消息,旅游指南平台猫途鹰(Tripadvisor)公布2023年旅行者之选:最佳“必做之事”。 随着夏季旅游的全面展开,这些是猫途鹰评论家们最喜欢的来自世界各地的活动,为希望创造难忘时刻的旅行者提供一份明确的非凡体验清单&#xf…

猫途鹰公布2019年“旅行者之选”全球最佳海滩榜单

全球旅游规划和预订平台猫途鹰(TripAdvisor)公布2019年“旅行者之选”最佳海滩榜单。获奖海滩是基于过去12个月内全球上亿旅行者的评分和点评的数量及质量综合计算得出,巴西费尔南多迪诺罗尼亚群岛(Fernando de Noronha)的桑乔湾海滩&#xf…

【Python】代码:获取猫途鹰的London酒店信息:基于Scrapy框架和requests库

本文以代码分析的形式记录:利用Scrapy框架和requests库爬取tripadvisor(猫途鹰)多个城市的酒店信息,数据量300w条(1.09G),运行时间约7h。多个城市与单个城市的操作类似,为避免代码过于冗长,本文仅以爬取London酒店的评…

利用 pyspider 框架抓取猫途鹰酒店信息

利用框架 pyspider 能实现快速抓取网页信息,而且代码简洁,抓取速度也不错。 环境:macOS;Python 版本:Python3。 1.首先,安装 pyspider 框架,使用pip3一键安装: pip3 pyspider 2.终端…

可怕的pyspider猫途鹰

1.启动pyspider 2.新建一个项目 3.代码 4. 注意事项:网址什么的都变了 5.存储到MongoDB, 注意这个地方我错了三次 6.在tableau可视化才发现错误的1,2 之后就能可视化了,本次实验是个半成品。后期会补充。 #!/usr/bin/env python # -*- enco…

爬虫-猫途鹰

from bs4 import BeautifulSoup import requests url https://www.tripadvisor.cn/ wb_data requests.get(url) soup BeautifulSoup(wb_data.text,lxml) for i in soup.select(li):if len(i.select(.ranking))>0:sorti.select(.ranking)[0].text #排名countryi.select(.c…

JS DOM 编程复习笔记--父元素、子元素和兄弟元素(三)

今天我们来复习DOM中的获取父元素、子元素和兄弟元素的API,它们主要有parentNode、firstChild、firstElementChild、lastChild、lastElementChild、childNodes、children、nextElementSibling、nextSibling、previousElementSibling、previousSibling等。 目录 获取…

jquery 在兄弟节点前、或兄弟节点后添加最新元素

使用 jquery 封装好的方法操作 dom&#xff0c;非常方便 1、在兄弟节点前添加最新元素 使用 before() 方法 演示代码如下 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script src"js/jquery-…

CSS第一章:4.元素关系(兄弟、祖后代关系);关系选择器

总览 1.元素关系 2.关系选择器 一、元素关系 1.元素关系1&#xff1a;父子 父元素&#xff1a;直接包含子元素的元素叫做父元素 子元素&#xff1a;直接被父元素包含的元素叫做子元素 2.元素关系2&#xff1a;祖先后代 祖先元素&#xff1a;直接或间接包含后代元素的元素…

选择兄弟元素中的第几个元素

:nth-child(anb) 这个CSS伪类首先找到所有当前元素的兄弟元素&#xff0c;然后按照位置先后顺序从1开始排序&#xff0c;选择的结果为CSS伪类:nth-child括号中表达式&#xff08;anb&#xff09;匹配到的元素集合&#xff08;n0&#xff0c;1&#xff0c;2&#xff0c;3...&am…

兄弟元素选择器

兄弟元素选择器 语法1&#xff1a;前一个元素 后一个元素作用&#xff1a;选中一个元素后紧挨着的指定的兄弟元素。语法2&#xff1a;前一个元素 ~ 后边一类元素作用&#xff1a;选中后边的所有兄弟元素 举例1&#xff1a; <!DOCTYPE html> <html lang"en&qu…

Thinking -- CSS从根解决选择前一个兄弟元素

Thinking系列&#xff0c;旨在利用10分钟的时间传达一种可落地的编程思想。 开发中遇到这样一个诉求&#xff1a;特定class的元素单独占一行&#xff0c;现需要针对其前一个兄弟元素增加相应标识&#xff0c;以使其占据所在行的剩余所有空间。 换句话&#xff1a;就是如何选中…

JS 兄弟元素和兄弟节点

获取兄弟节点和兄弟元素 例子&#xff1a; //body内容<ul id"ul">wwwwww<!-- 我是注释 --><li>我是li标签1</li><li id"li2">我是li标签2</li><li>我是li标签3</li><li>我是li标签4</li><…

css-知识点(学习笔记)

一、鼠标悬停样式 hover伪类基础用法 在前端学习的初期&#xff0c;想必大家用的很多的属性之一就有hover吧,hover伪类元素使用的三种情况 1、 hover用于父子元素 父子元素直接在父元素的id或者class或者标签名后紧接着:hover 然后空格子元素的名字就可以了。 2、 hover用于…

RPC原理及其调用过程

RPC原理及其调用过程 远程过程调用&#xff0c;简称为RPC&#xff0c;是一个计算机通信协议&#xff0c;它允许运行于一台计算机的程序调用另一台计算机的子程序&#xff0c;而无需额外地为这个交互作用编程。 RPC与传统的HTTP对比 优点&#xff1a; 1. 传输效率高(二进制传输…

用简单的方式去描述RPC原理

接下来我们就讲RPC&#xff1a;远程过程调用。其实RPC仅仅是一个概念&#xff0c;RPC没有协议没有框架&#xff0c;平时我们说的RPC框架其实是简称&#xff0c;很多人被带偏了&#xff0c;以为RPC是一个协议或者是框架&#xff0c;所以你以后如果听到RPC框架&#xff0c;你要立…

RPC核心原理是什么?以及常用技术有哪些?

前面一篇文章有提到过RPC&#xff0c;那么RPC是什么呢&#xff1f; RPC&#xff08;Remote Procedure Call&#xff09;&#xff0c;代表远程过程调用&#xff0c;通过网络通信调用不同的服务&#xff0c;共同支撑一个软件系统&#xff0c;微服务实现的基石技术。使用RPC可以解…

RPC框架原理简介

什么是RPC框架&#xff1f; RPC&#xff0c;全称为Remote Procedure Call&#xff0c;即远程过程调用&#xff0c;是一种计算机通信协议。 比如现在有两台机器&#xff1a;A机器和B机器&#xff0c;并且分别部署了应用A和应用B。假设此时位于A机器上的A应用想要调用位于B机器上…

RPC通信原理

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、RPC是什么&#xff1f;二、RPC原理总…

RPC框架面试总结-RPC原理及实现

一、什么是RPC RPC是远程调用过程的简写&#xff0c;是一个协议&#xff0c;处于网络通信协议的第五层&#xff1a;会话层&#xff0c;其下就是TCP/IP协议&#xff0c;在建立在其基础上的通信会话协议。RPC定义了交互的模式&#xff0c;而应用程序使用这些模式&#xff0c;来访…