python爬虫——爬取马蜂窝景点翻页文字评论

使用Chrome、python3.7、requests库和VSCode进行爬取马蜂窝黄鹤楼的文字评论(http://www.mafengwo.cn/poi/5426285.html)。
首先,我们复制一段评论,查看网页源代码,按Ctrl+F查找,发现没有找到评论,说明评论内容不在http://www.mafengwo.cn/poi/5426285.html页面。
回到页面,划到评论列表,右键检查,选择Network,然后点击后一页翻页,观察Network里的变化,我们要爬的文件就在下面的某个文件里(主要找XHR和JS两个模块)。选择Preview可以更好的让我们寻找我们想要的文件,然后选择Headers找到我们要爬的url。
经过分析我们找到要爬取的url是http://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?callback=jQuery18102698237405245767_1579401525334&params=%7B%22poi_id%22%3A%225426285%22%2C%22page%22%3A2%2C%22just_comment%22%3A1%7D&_ts=1579402072160&sn=20e98d65a0&=1579402072161
然而点进去是这样的
这个时候对比一下这两个页面的Request Headers,发现原页面多了个Refer参数
原页面

然后看一下请求get请求需要的参数Query String Parameters,其中poi_id是景点id,page是评论页面(翻页只用改变page的值就行)。

import re
import time
import requests
#评论内容所在的url,?后面是get请求需要的参数内容
comment_url='http://pagelet.mafengwo.cn/poi/pagelet/poiCommentListApi?'requests_headers={'Referer': 'http://www.mafengwo.cn/poi/5426285.html','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
}#请求头for num in range(1,6):requests_data={'params': '{"poi_id":"5426285","page":"%d","just_comment":1}' % (num)   #经过测试只需要用params参数就能爬取内容}response =requests.get(url=comment_url,headers=requests_headers,params=requests_data)if 200==response.status_code:page = response.content.decode('unicode-escape', 'ignore').encode('utf-8', 'ignore').decode('utf-8')#爬取页面并且解码page = page.replace('\\/', '/')#将\/转换成/#日期列表date_pattern = r'<a class="btn-comment _j_comment" title="添加评论">评论</a>.*?\n.*?<span class="time">(.*?)</span>'date_list = re.compile(date_pattern).findall(page)#星级列表star_pattern = r'<span class="s-star s-star(\d)"></span>'star_list = re.compile(star_pattern).findall(page)#评论列表comment_pattern = r'<p class="rev-txt">([\s\S]*?)</p>'comment_list = re.compile(comment_pattern).findall(page)for num in range(0, len(date_list)):#日期date = date_list[num]#星级评分star = star_list[num]#评论内容,处理一些标签和符号comment = comment_list[num]comment = str(comment).replace('&nbsp;', '')comment = comment.replace('<br>', '')comment = comment.replace('<br />', '')print(date+"\t"+star+"\t"+comment)else:print("爬取失败")

结果

python爬虫——爬取马蜂窝景点翻页文字评论相关推荐

  1. python爬取景点信息_python 爬取马蜂窝景点翻页文字评论的实现

    使用Chrome.python3.7.requests库和VSCode进行爬取马蜂窝黄鹤楼的文字评论(http://www.mafengwo.cn/poi/5426285.html). 首先,我们复制 ...

  2. 国庆不去哪儿:用python爬虫爬取热门景点并生成热力图

    前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读,零基础可以去看我之前的文.(咳咳,不能总更小白文,这样显得我不(mei)够(you)专(xue)业(xi)). 金秋九月,丹 ...

  3. Python爬虫爬取猫眼电影风语咒影评评论信息

    风语咒作为扛起国漫崛起的又一国漫之作,爬取风语咒猫眼的电影评论数据,以便对其评论做之后的数据分析. 此次demo的流程图如下: 一.找到猫眼电影中风语咒影评得json数据: l 找出url后,往下滚动 ...

  4. Python爬虫爬取马蜂窝北京景点信息

    背景 来北京有些日子了,但是每个周末都窝在六环外的村里躺着.想想不能再这么浪费时间了,得出去玩!但是去哪玩呢?于是乎想着,先把北京的景点以及位置都保存起来,然后在分析分析做个出行计划.从哪里获取景点信 ...

  5. Python爬虫-爬取电影《星际穿越》评论并提取关键词

    我的个人博客:https://jmbaozi.top/ 这次选择了我最喜欢的电影<星际穿越>的短评,共爬取了500条评论,并且用jieba分词提取了100个关键词.程序文件点我查看 100 ...

  6. 【归档】爬取马蜂窝景点信息(含源代码)

    爬取马蜂窝景点信息(含源代码) 爬取热门目的地信息 MafengwoCrawler()._get_mdd() 爬取目的地内景点信息 MafengwoCrawler().crawler_mdd() 爬取 ...

  7. Python爬虫爬取纵横中文网小说

    Python爬虫爬取纵横中文网小说 学了一周的爬虫,搞了这个东西,自己感觉还不错,有什么问题可以提一提哈 目标:纵横中文网-完本-免费小说 网址:http://book.zongheng.com/st ...

  8. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  9. python爬虫——爬取搜狗影视热门电视剧

    python爬虫--爬取搜狗影视热门电视剧 1.结果图 2.这次爬取的网址请点击传送门 搜狗影视热门电视剧 3.先构建请求头,请求头直接复制过来 4.接下来先请求这条url,通过format方法实现对 ...

最新文章

  1. CSDN如何删除自己不用的分类(亲测有效!)
  2. python代码计算图像的分辨率
  3. Unity面试题汇总(第一部分)
  4. log4j.properties配置详解与实例
  5. 排序 (5)桶排序“概念”
  6. User.find_each
  7. Nginx 0.8.5版本access.log日志分析shell命令
  8. 无锁数据结构二-乱序控制(栅栏)
  9. python 锁 多进程
  10. python长格式_python中宽格式数据帧到长格式数据帧的转换
  11. 前端学习(2685):重读vue电商网站6之如何重置表单
  12. 阿里研究院入选中国企业智库系统影响力榜
  13. VirtualBox linux 网络设置 Bridged Adapter模式
  14. Android第四十五天
  15. Java去除字符串最前面一个字符和最后面一个字符
  16. Linux下opengl性能更高,OpenGL超级宝典学习笔记——性能比较
  17. 硅谷课堂 13_公众号点播课程和直播管理
  18. KB和kB,MB和mb,详细解释计算机存储单位
  19. MATLAB导入数据
  20. 一张对数字图像处理贡献最大的花花公子人体照

热门文章

  1. java.lang.IllegalStateException: 提交响应后无法转发
  2. Duplicate entry ‘***‘ for key ‘UK_mjrobjw9m8n29ou6083ixjxmf‘
  3. crc java_CRC 校验
  4. 如何从一台远程服务器向另一台远程服务器上读取文件
  5. CSS3d——立体几何效果(正方体)实现
  6. 魔王语言解释C(可输出)
  7. 深度学习在计算机视觉领域图像应用总结
  8. First part of my Spring posts is refreshed
  9. HC32L130国产超低功耗华大MCU芯片介绍
  10. 配流02—DIAL算法(改进)