python爬取携程和蚂蜂窝的景点评论数据\python爬取携程评论数据\python旅游网站评论数...

news/2024/5/10 17:36:55/文章来源:https://blog.csdn.net/weixin_34349320/article/details/91660728

本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。同时欢迎加入社交媒体数据交流群:99918768

前言

  为了获取多源数据需要到各个网站获取一些景点的评论信息和图片,首先选到了携程和蚂蜂窝这两个网站,将一些爬取过程记录下来

携程

分析数据

  首先我们去携程的鼓浪屿景点速览看一下我们要爬取的页面,大概发现有几十个景点,每个景点的结构应该都是差不多的,所以我们选择第一个景点进去看看具体的页面应该怎么爬取。

鼓浪屿评论分析

我们需要的是红圈的部分,很容易可以知道这个评论页面是动态加载的,所以不能直接用bs4或者正则直接提取元素,我们需要分析一下页面动态传输的接口。打开chrome审查元素,切换到network查看一下传输的内容,首先清空内容避免干扰,然后点击下一页,我们可以得到

鼓浪屿审查元素

通过查看传回的数据我们可以得到这就是我们所要的接口,使用的是post进行传输,传输的Form Data 有很多字段,大致可以猜测出来

poiID 是景点的poiID </br> pagenow 是当前的页数 </br> star 是评分1-5,0代表全部 </br> resourceId 是一个每个资源对应的值

爬取的时候只需要改变这些值就可以根据自己的需求爬取内容了,但是需要注意的事携程的pagenow最多只能获取100页,而且poiID和resourceId的值是没有规律的,需要我们逐个景点查看...我自己依次找了鼓浪屿所有景点的值,并存在文本中,文末有github的共享。

建库

  我们要做的第一件事就是想好数据库的结构,我选择的还是使用mysql,具体的结构如下:

携程建库

获取数据

  这个我就不具体分析了,也不难,就是有几个坑要注意一下。

第一,不是所有评论都有景色,性价比之类的评分,所以这里要加一个判断。</br> 第二,原来是有出行时间这一项的,现在好像没有了额。</br> 第三,评论文本可能会出现单引号,插入数据库会出现错误,要转义或者替代一下。</br> 第四,抓取速度不要太快,携程反扒还是比较厉害的。

蚂蜂窝

分析数据

  同样,蚂蜂窝的数据也是动态加载的,用相同的方法查看分析数据接口。

蚂蜂窝

可以看到蚂蜂窝的数据获取方式是get,我们可以找出请求的url的规律。经过比较不同景点和不同页面的数据,我们发现参数的改变主要在两个地方,一个是poiid我用href代替,一个是页数我用num代替。获取景点的评论数据只要改变这两个值就可以了

url='http://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?callback=jQuery18105332634542482972_1511924148475¶ms=%7B%22poi_id%22%3A%22{href}%22%2C%22page%22%3A{num}%2C%22just_comment%22%3A1%7D'

获取每个景点的poi

这个不是post请求我们就不必一个个景点去获取参数了,我们可以访问这个站点来发现所有的用户,然而这个站点的数据也是动态加载的

蚂蜂窝

蚂蜂窝

蚂蜂窝

根据上面的图片我们可以清晰的看到我们只需要传入页码数就可以得到所有的景点的poiid,然后根据这些poiid我们就可以得到所有的评论数据,这一部分我们用一个函数来处理

def get_param():# 获取所有景点的参数total = []router_url = 'http://www.mafengwo.cn/ajax/router.php'for num in range(1, 6):params = {'sAct': 'KMdd_StructWebAjax|GetPoisByTag','iMddid': 12522,'iTagId': 0,'iPage': num}pos = requests.post(url=router_url, data=params, headers=headers).json()soup_pos = BeautifulSoup(pos['data']['list'], 'lxml')result = [{'scenery': p['title'], 'href': re.findall(re.compile(r'/poi/(\d+).html'), p['href'])[0]} for p insoup_pos.find_all('a')]total.extend(result)return total

  其余部分相似,不再过多说明。

个人博客

8aoy1.cn

转载于:https://blog.51cto.com/11105089/2060722

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_714214.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部分网站为什么上不去_天机SEO:分析网站收录与排名的重要因素

多年以来、B哥一直奋斗在SEO一线。只有在实战中才可以进步&#xff0c;才能发现问题所在。一些小技巧和小知识、也经常发在公众号中。前段时间听到一些不和谐的声音。因为我的文章末尾都会留下天机平台的广告、许多人说我的文章都是水文&#xff0c;在割韭菜&#xff01;谁都需…

mdk 加static会被优化吗_网站关键词排名优化你会吗?深圳龙岗网络外包公司讲解...

除了付费推广之外&#xff0c;目前的网络推广方式是搜索引擎优化&#xff0c;效果好&#xff0c;性价比高。SEO优化无非是提高公司网站的关键词排名&#xff0c;这样不仅可以提高网站的权重和排名&#xff0c;还可以给网站带来大量的流量&#xff0c;提高转换率。那么网站关键词…

连锁加盟网站源码_连锁60秒:招商只是开始,养商才最重要

今天是连锁60秒陪伴你的第 175 天作者&#xff1a;连锁服务员(wangning900912)来源&#xff1a;连锁服务员(lsfwy01)加盟商的资源怎么来&#xff1f;传统的方式是一个市场一个市场的去跑&#xff0c;找到利益相关者&#xff0c;找到潜在的加盟商资源&#xff0c;然后进行相关的…

java 沙盒模拟支付_网站对接paypal支付接口记录

注册企业账户&#xff0c;paypal账户必须升级为商户&#xff0c;才能实现回调功能&#xff0c;若使用个人用户也可以实现支付&#xff0c;但是无法回调&#xff0c;技术理论层面&#xff0c;如果要实现个人账户回调&#xff0c;只能实现前端回调。paypal商户账户需要进行设置回…

50 个 jQuery 插件可将你的网站带到另外一个高度 【已翻译100%】

Web领域一直在发生变化并且其边界在过去的每一天都在发生变化&#xff08;甚至不能以小时为计&#xff09;&#xff0c;随着其边界的扩展取得了许多新发展。在这些进步之中&#xff0c;开发者的不断工作创造了更大和更好的脚本&#xff0c;这些脚本以插件方式带来更好的终端用户…

社交网路Reddit前高管推出新网站挑战前东家

美国知名社区Reddit曾经的二号人物丹麦考玛斯&#xff08;Dan McComas&#xff09;希望建设一个更好的Reddit&#xff0c;专注于“健康而积极的社区”。此前&#xff0c;麦考玛斯对Reddit上存在的煽动性群组提出了激烈批评。 麦考玛斯此前与维多利亚泰勒&#xff08;Victoria T…

iis p访问php密码,访问IIS网站需要输入用户名密码(非匿名登录)问题汇总

无语了&#xff0c;最近不少Windows服务器都出现这个访问网站需要输入的问题&#xff0c;而且每次解决方法还不一样。。。唉&#xff0c;先汇总下解决方法吧&#xff0c;有时间再仔细研究下这些问题是如何导致的。当IIS已启用"允许匿名访问"的情况下&#xff0c;仍出…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

如何提升网站安全性

建站很容易&#xff0c;但是做好网站的安全维护却是一件不容易的事情&#xff0c;随着逐年增加的网络攻击&#xff0c;网络黑客通过漏洞对网站进行攻击。为了避免网站遭到攻击&#xff0c;需要提升网站的安全性&#xff0c;同时不影响用户的体验。 在实际的运营管理当中&#x…

某网站前端页面性能测试

1页面性能测试概述页面性能测试则是针对于页面性能优化而开展的一种性能测试&#xff0c;目的是对Web系统的页面进行测试以确认系统页面是否会影响系统的性能并为页面的优化提供依据与建议&#xff0c;最终提升系统的整体性能表现&#xff0c;提高用户体验满意度。他的关注点是…

网站点击流数据分析项目

什么是点击流数据 1.1.1 WEB访问日志 即指用户访问网站时的所有访问、浏览、点击行为数据。比如点击了哪一个链接&#xff0c;在哪个网页停留时间最多&#xff0c;采用了哪个搜索项、总体浏览时间等。而所有这些信息都可被保存在网站日志中。通过分析这些数据&#xff0c;可以…

英文论文写作相关实用网站与工具整理

文章目录英文论文写作相关实用网站与工具整理1.文献查找与下载(1) 文献检索通用网站&#xff1a;出版商网站&#xff1a;(2) 文章下载对于中文文章、知网的文章等而对于英文文章2.文献管理Mendelay3.写作与翻译(1) 初步翻译(2) 精确表达a. 专业词汇的准确性对于专业词汇的准确性…

您与此网站建立的连接不安全_CDN加速网站SEO优化,这就是CDN

内容交付网络&#xff08;CDN&#xff09;是一种分布式服务器&#xff08;网络&#xff09;的系统&#xff0c;该系统基于用户的地理位置&#xff0c;网页的来源和内容交付服务器将页面和其他Web内容交付给用户。此服务可有效加快高流量网站和具有全球影响力的网站的内容交付。…

个人博客网站的设计与实现_使用hexo来搭建个人网站博客(超详细教程)

对于一个程序员来讲&#xff0c;有一个个人博客真的很重要&#xff0c;做项目中的 新知识点的总结&#xff0c;bug总结&#xff0c;还可以 锻炼自己的表达能力&#xff0c;所以百利无一害。今天说一下如何去搭建个人博客①&#xff1a;下载git方式一(官网下载)&#xff1a;http…

outlook搜索栏跑到上面去了_南昌搜索引擎seo优化

搜索引擎sl31b10eo优化南昌&#xff0c;SEO排名&#xff0c;它是指搜索引擎优化关键词排名。而影响到seo排名的因素有很多&#xff0c;比如说域名注册的时间&#xff0c;服务器的空间速度和稳定性&#xff0c;或者像是网站整体的结构&#xff0c;网站的内容等等都是影响了seo排…

打不开_网站源码安装后打不开?教你解决打不开

今天花点时间给你们写一篇文章&#xff0c;如何解决安装网站源码后&#xff0c;打不开网站的问题&#xff0c;以免你们在网上下载源码后&#xff0c;也是挺烦的。网站源码安装后打不开的解决方法网站源码安装后要先审查域名是否有正确解析&#xff0c;网站环境是否有配置正确&a…

python django做网页论文_Python Web程序-Django框架搭建网站的简单介绍

安装方法&#xff1a;2.2.4版本pip install django2.2.4安装django&#xff0c;django像一个库一样加入了python库中。创建Django项目1.终端创建项目&#xff1a;#在D盘PythonCodeTest文件夹下创建项目cd D:/cd PythonCodeTest#使用命令 django-admin startproject 创建项目dja…

网站密码生成程序:python+pyqt5实例

实现功能&#xff1a; """ 1.给不同网站设置密码 2.密码组成方式由 大写&#xff0c;小写&#xff0c;数字&#xff0c;标点符号类别组成 3.生成txt文件保存 """ 1.gui设计&#xff1a; 前端生成py代码&#xff1a; # -*- coding: utf-8 -*-# F…

一个网站哪些页面需要用到redis_网页和网站有什么区别?做一个网站难不难?都需要哪些技能?...

概念梳理&#xff1a;网站和网页是包含关系&#xff0c;一个网站包含多个页面(网页)。 一般我们上网浏览的都是某个网站中的某个页面。具体逻辑如下图示&#xff1a;网页和网站的概念聊完了网站和网页的区别之后&#xff0c;我们一起来看看做一个网站到底难不难。刨除辅助功能&…

php网站怎么优化,如何优化你的Z-BlogPHP网站

相信现在有好多网站都在使用Z-BlogPHP的程序&#xff0c;就是因为它越来越安全&#xff0c;功能多之下还显得轻量简洁&#xff0c;本站也是zblog的一个用户了。现在发出教程来教大家如何优化zblog&#xff0c;又讲优化SEO的&#xff0c;也有优化网站界面的&#xff0c;是本站原…