写在前面:酒店和旅游景点方式不同,不能用我的写法,如果获取酒店数据请参考:https://blog.csdn.net/qq_34774456/article/details/89885296

旅游景点代码(地址要用手机版的携程搜自己想搜的景点):

import urllib.request
from bs4 import BeautifulSoup
import pymysql.cursors
import requests
import json
import datetimedef deal_json_invaild(data):data = data.replace("\n", "").replace("\r", "").replace("\n\r", "").replace("\r\n", "").replace("\t", "").replace("\\\"","\"").replace("             ","")data = data.replace('":"{"', "**testPasswors**5")\.replace('":"', '&&testPassword&&')\.replace('","', "$$testPassword$$")\.replace('":{"', "**testPasswors**1")\.replace('"},"', "**testPasswors**2")\.replace(',"', "**testPasswors**3")\.replace('{"', "@@testPassword@@")\.replace('"}', "**testPassword**")\.replace('":', "**testPasswors**4")\data = data.replace('"', '”')\.replace("**testPasswors**5","\":{\"").replace('&&testPassword&&', '":"').replace('$$testPassword$$', '","').replace('**testPasswors**1','":{"').replace('**testPasswors**2','"},"').replace('@@testPassword@@', '{"').replace('**testPassword**','"}').replace('**testPasswors**3',',"').replace('**testPasswors**4','":').replace('\\"','\"').replace(' ','').replace("resourceExtraInfo ","resourceExtraInfo").replace("\n", "").replace("\r", "").replace("\n\r", "").replace("\r\n", "").replace("\t", "").replace(r"\"","\"").replace("                ","").replace("}\"","}")return dataheaders={
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko",
"Content-Type": "application/json"
}f = open("data.txt","w",encoding='utf8')
for x in range(302,303):# 综合评价payload={"CommentResultInfoEntity": {"BusinessId": "16588","BusinessType": 11,"ChannelType": 7,"CommentTagId": 0,"ImageFilter": 'false',"PageIndex": x,"PageSize": 10,"PoiId": 0,"SortType": 3,"StarType": 0,"TouristType": 0,"VideoImageHeight": 392,"VideoImageWidth": 700},"contentType": "json","head": {"auth": "","cid": "09031081211299101374","ctok": "","cver": "1.0","extension": [{"name": "protocal", "value": "https"}],"lang": "01","sid": "8888","syscode": "09"}} #好评# payload={#     "CommentResultInfoEntity": {"BusinessId": "16588","BusinessType": 11,"ChannelType": 7,"CommentTagId": -11,"ImageFilter": 'false',"PageIndex": x,"PageSize": 10,"PoiId": 0,"SortType": 3,"StarType": 0,"TouristType": 0,"VideoImageHeight": 392,"VideoImageWidth": 700},"contentType": "json",#     "head": {"auth": "","cid": "09031081211299101374","ctok": "","cver": "1.0","extension": [{"name": "protocal", "value": "https"}],"lang": "01","sid": "8888","syscode": "09"}# }# #差评# payload={#     "CommentResultInfoEntity": {"BusinessId": "16588","BusinessType": 11,"ChannelType": 7,"CommentTagId": -11,"ImageFilter": 'false',"PageIndex": x,"PageSize": 10,"PoiId": 0,"SortType": 3,"StarType": 0,"TouristType": 0,"VideoImageHeight": 392,"VideoImageWidth": 700},"contentType": "json",#     "head": {"auth": "","cid": "09031081211299101374","ctok": "","cver": "1.0","extension": [{"name": "protocal", "value": "https"}],"lang": "01","sid": "8888","syscode": "09"}# }r = requests.post('https://m.ctrip.com/restapi/soa2/13444/json/GetCommentListAndHotTagList?_fxpcqlniredt=09031081211299101374&__gw_appid=99999999&__gw_ver=1.0&__gw_from=10650019636&__gw_platform=H5', json=payload,headers=headers)soup = BeautifulSoup(r.text,'html.parser')soup = str(soup)soup = deal_json_invaild(soup)a = json.loads(soup)# print(a)for j in range(len(a["CommentResult"]["CommentInfo"])):datetime1 = int(a["CommentResult"]["CommentInfo"][j]["PublishTime"][6:16])  #留言时间 这里是/Date()格式 里面是时间戳 js才能转换dateArray = datetime.datetime.utcfromtimestamp(datetime1)otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")     address,level='None','None'print(not a["CommentResult"]["CommentInfo"][j]["UserInfoModel"])if a["CommentResult"]["CommentInfo"][j]["UserInfoModel"]:address = str(a["CommentResult"]["CommentInfo"][j]["UserInfoModel"]["UserDistrictName"]) #用户地址level = str(a["CommentResult"]["CommentInfo"][j]["UserInfoModel"]["MedalName"]) #用户级别dd = "总评分:" +str(a["CommentResult"]["CommentInfo"][j]["TotalStar"]) + "\t评论时间:"+ otherStyleTime +" \t用户地址:"+address+"  \t用户会员级别:"+level+" \t 评论:"+ a["CommentResult"]["CommentInfo"][j]["Content"]print("第{0}列 第{1}个 {2}".format(x,j,dd))f.write(dd+'\n')

中间一大堆replace是携程json很多不规则的地方 需要替换 想data:"{}"这种结构

发现只能搜前3000条,后面就搜不到了,不知道什么情况

playod来源是Request Payload里的参数:

还有综合评价和好评差评是分开的

用网页模拟点击:

这个参数0是综合 -11是好评 -12差评

python爬虫获取携程旅游景点评分和评论相关推荐

  1. python 爬取携程旅游景点评论

    python爬取携程旅游景点评论 爬取网址:https://you.ctrip.com/ 爬取评论全部代码 import requests import json import re import t ...

  2. python爬虫——获取携程城市缩写(存入数据库)

    爬虫能够帮我们收集到很多信息. 我想获取携程各个票的信息,虽然一个一个城市的输入也可以得到想要的信息,但是为了模块化的获取信息,我们应该对城市(city)信息建立一个字典,所以需要得到携程提供的城市名 ...

  3. python爬取携程旅游评价信息词云图分析

    python爬取携程旅游评价信息词云图分析 前言 前面咱们已经分析过如何爬取携程旅游的相关信息,如果没有看过的,可以先跳转看一下前面的那篇博客:python 爬虫 一键爬取携程旅游团数据 这一篇呢,咱 ...

  4. 利用selenium爬取携程旅游网的景区评论

    第一步:打开携程网,获取该景点的网址.以我的为例,我爬取的是湖北省 恩施州的恩施大峡谷景区的评论.网址为:https://you.ctrip.com/sight/enshi487/51386.html ...

  5. python爬携程上出境游数据_python爬取携程旅游评价信息词云图分析

    python爬取携程旅游评价信息词云图分析 前言 前面咱们已经分析过如何爬取携程旅游的相关信息,如果没有看过的,可以先跳转看一下前面的那篇博客:python 爬虫 一键爬取携程旅游团数据 这一篇呢,咱 ...

  6. Python 获取旅游景点信息及评论并作词云、数据可视化

    正所谓:有朋自远方来,不亦乐乎?有朋友来找我们玩,是一件很快乐的事情,那么我们要尽地主之谊,好好带朋友去玩耍!那么问题来了,什么时候去哪里玩最好呢,哪里玩的地方最多呢? 今天将手把手教你使用线程池爬取 ...

  7. Webmagic 爬虫框架 爬取马蜂窝、携程旅游、汽车之家游记信息

    WebMagic学习 遇到的问题 Log4j错误 解决:在src目录下添加配置文件 log4j.properties log4j.rootLogger=INFO, stdout, filelog4j. ...

  8. python爬取携程景区用户评论

    python爬取携程景区用户评论(爬虫时遇到翻页但url不变问题时的解决办法) python爬取携程景区用户评论 Ajax页面加载的页面和普通页面的不同 解决办法 效果 python爬取携程景区用户评 ...

  9. 送书|获取旅游景点信息及评论并作词云、数据可视化

    大家好,我是啃书君! 正所谓:有朋自远方来,不亦乐乎?有朋友来找我们玩,是一件很快乐的事情,那么我们要尽地主之谊,好好带朋友去玩耍!那么问题来了,什么时候去哪里玩最好呢,哪里玩的地方最多呢? 今天将手 ...

最新文章

  1. C语言输入一行整数(OJ输入格式)
  2. 服务器收集错误信息0不动,win10系统提示“我们只收集某些错误信息”的解决方案...
  3. MySQL从入门到精通50讲(四)-MySQL表操作创建表及删除表
  4. 神策数据赋能物流服务行业数字化转型
  5. Windows下窗口的生命周期
  6. STM32F103:二.(2)串口控制LED
  7. 第二章简答_微观 第二章 效用论
  8. Spring容器启动时出现Failed to read schema document错误
  9. ncl批量处理多个nc文件_Python办公自动化批量处理文件,一学就会
  10. 优美的js代码,拿去玩~
  11. 在系统编程ISP及在应用编程IAP
  12. 产品读书《极致:互联网时代的产品设计》
  13. mcafee完全彻底卸载方法
  14. 抗渗等级p6是什么意思_抗渗等级P6什么意思?
  15. 区块链三加一:资产不可复制性
  16. Java程序员必备核心知识点整理,建议收藏!
  17. 【高级微观经济学】厂商理论:生产技术与生产函数
  18. C语言:到底是不是太胖了
  19. 使用代理爬去微信公众号_使用微信公众号开发模拟面试功能
  20. 【C++】求三角形面积

热门文章

  1. 学习笔记:多目标跟踪对车辆进行测速
  2. PPT演讲时投影仪显示技巧:分屏演示PPT,你可同时看见备注
  3. PS 滤镜——素描算法(一)
  4. python docx修改word文档格式
  5. Pygame实战之外星人入侵NO.9——消灭外星人
  6. 调用阿里云web API实现滑块验证码
  7. UE学习笔记(一)UC++基础类
  8. 大战初起 “云”局未定:微软云在未来能够抢到多少市场份额?
  9. 北京商标纠纷诉讼侵犯注册商标专有权的行为都有什么?
  10. 用人人商城也能玩转心愿众筹了,创意无限,代码皆可实现