Python爬取携程和同程的景点评论并实现词云

本文介绍了如何使用Python爬取携程和同程网站上的三亚蜈支洲岛景点评论,通过分析网页结构和发送HTTP请求获取JSON数据。分别实现了对两个网站的评论爬取,并展示前50页的评论。最后利用wordcloud和jieba库进行词云可视化,通过停用词优化,提高了词云的可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

某人为了期末作业(非计算机系的文科生)想获取数据做分析,奈何不会八爪鱼,于是乎她成了我的甲方。甲方妈妈的需求是这样的:爬取携程网和同程网的对于三亚蜈支洲岛的评论。

一、爬取携程网的评论

1.1 分析

爬取的地址:https://you.ctrip.com/sight/sanya61/3244.html#comment

image-20211208201742446

  • 评论在这里,并且有分页
  • 但是发现点击下一页的时候地址栏并没有变化

image-20211208201836514

  • 所以这种情况打开F12控制台看看吧

image-20211208202045901

  • 发现分页和这个响应有关,并且返回的是一个json数据的格式

image-20211208202229284

  • pageIndex是页码,所以找到关键的点了

image-20211208202331862

  • 获取到评论的地址:https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031028411306444964
  • 请求是POST请求

1.2 代码实现

  • 这里我只爬取了前50页
import requests
import json
import time

headers = {
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36',
}

posturl = "https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031028411306444964"

def getdata():
    j = 1
    for i in range(1, 51):
        request = {
   
            'arg': {
   'channelType': '2',
                    'collapseType': '0',
                    'commentTagId': '0',
                    'pageIndex': str(i),
                    'pageSize': '10',
                    'poiId': '10558614',
                    'sortType': '3',
                    'sourceType': '1',
                    'starType': '0'},

            'head': {
   'auth': "",
                     'cid': "09031028411306444964",
                     'ctok': "",
                     'cver': "1.0",
                     'extension': [],
                     'lang': "01",
                     'sid'
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值