之前一直都听过抓包,抓包,但是一直没有在手机上抓过包,这次一试,当做是一次小练习,在网上有挺多Fiddler安装和配置的教程的,我也找了一些,大家可以借鉴:

1、Fiddler|Fiddler安装与配置
2、抓包工具Fidder详解(主要来抓取Android中app的请求)
3、使用Fiddler抓到包后分析

之前在安装配置Fiddler的过程中因为使用某国产手机的原因无法使用代理被狠狠坑了一下,在此留个记号。

这次想练习的是今日头条新闻《跳楼产妇聊天记录曝光 丈夫:出事前未察觉她有情绪异常》 此新闻的相关评论信息。可以看到在PC端只是显示几条评论信息,所以就去爬移动端。
打开Fiddler,并且在手机上打开评论信息,不断下拉,可以看到评论会慢慢地加载出来,通过Fiddler的过滤功能,可以看到:

左侧这几条就是我们要找的相关的含有评论信息的链接,右上方是request,右下方是response。从右上上可以看出是正常的get方式的请求,返回的是JSon格式的数据。
这个URL很长,看着很晕,我就把这个URL复制到TXT文件下对比一下:

这个规律还是比较好找的,通过我不断对评论页的下拉,只有最后的offset参数按照20的整数倍发生改变,利用这个规律就可以构建URL进行模拟的请求。当然这个URL太长了可以进行适当的缩减,里面有一些是设备的参数,可以进行删除,然后在浏览器上试一试看能不能返回相关的信息,最后我构建的URL:https://ic.snssdk.com/article/v2/tab_comments/?resolution=640*960&aggr_type=1&count=20&group_id=6462587303142359566&item_id=6462587303142359566&offset={}。
但是在对offset赋值的时候最多只能取到1500,再往后取是没有返回评论信息的结果的,也就是说只能够得到一千多条的评论信息。

接下来就可以进行编写代码了:

toutiao.py:import scrapy
import json
from toutiao_chanfu.items import ToutiaoChanfuItemclass ToutiaoSpider(scrapy.Spider):name = 'toutiao'start_urls = ['https://ic.snssdk.com/article/v2/tab_comments/?resolution=640*960&aggr_type=1&count=20&group_id=6462587303142359566&item_id=6462587303142359566&offset={}'.format(i*20) for i in range(0,76)]def parse(self, response):item=ToutiaoChanfuItem()html=response.textif html:content=json.loads(html)if content:datas=content.get("data")if datas:for data in datas:comment=data.get("comment")if comment:item['user_name']=comment.get("user_name")item['text']=comment.get("text")# print(item['user_name']+':'+item['text']+'\n')yield item
settings.py:SPIDER_MODULES = ['toutiao_chanfu.spiders']
NEWSPIDER_MODULE = 'toutiao_chanfu.spiders'MONGO_URI='localhost'
MONGO_DB='chanfuissue'HTTPERROR_ALLOWED_CODES = [400]ROBOTSTXT_OBEY = False
DOWNLOAD_DELAY = 3
COOKIES_ENABLED = FalseDEFAULT_REQUEST_HEADERS = {'Accept': '*/*','Accept-Language': 'zh-Hans;q=1, en;q=0.9, zh-Hant;q=0.8, fr;q=0.7, de;q=0.6, ja;q=0.5','Host: ic.snssdk.com''Proxy-Connection':'keep-alive','Cookie':'CNZZDATA1263676333=1053471997-1506224751-%7C1506224751; install_id=15419404350; qh[360]=1; ttreq=1$81cf78bc9e126dbc3f1e1a22789fdc99f9039157; UM_distinctid=15eb20c9b0da-0f7a55db4-3d5b614e-25800-15eb20c9b102e','X-SS-Cookie':'CNZZDATA1263676333=1053471997-1506224751-%7C1506224751; install_id=15419404350; qh[360]=1; ttreq=1$81cf78bc9e126dbc3f1e1a22789fdc99f9039157; UM_distinctid=15eb20c9b0da-0f7a55db4-3d5b614e-25800-15eb20c9b102e','Connection':'keep-alive','User-Agent':'News/6.3.4 (iPhone; iOS 7.0.3; Scale/2.00)',
}ITEM_PIPELINES = {'toutiao_chanfu.pipelines.MongoPipeline': 200,
}

成功运行后是这样的:


前几次运行的时候都会出现400、502的状态码也不知是哪里抽风,后面直接卡死(伤不起的电脑啊)后面我索性直接掐掉重新运行Pycharm。

最后的结果是存储在Mongodb数据库:

一共共抓取到了1400多条的评论信息。

Python爬虫入门-fiddler抓取手机新闻评论相关推荐

  1. 爬虫用fiddler抓取网易新闻客户端手机app内容

    一,工具 电脑安卓模拟器:夜神模拟器 抓包工具:fiddler 代码:pycharm 二.分析 1.首先要设置好fiddler和夜神模拟器的关联,这个网上很多教程这里不做介绍 2.打开网易app,观察 ...

  2. python爬虫案例:抓取网易新闻

    此文属于入门级级别的爬虫,老司机们就不用看了. 本次主要是爬取网易新闻,包括新闻标题.作者.来源.发布时间.新闻正文. 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻.然后鼠 ...

  3. 通过Python爬虫按关键词抓取相关的新闻

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途 如今各大网站的反爬机制已经可以说是到了丧心病狂的程度,比如大众点评的字符加密.微博的登录验证等.相比较而言,新闻网站的反爬机制 ...

  4. python爬虫关键词抓手机号_通过Python爬虫按关键词抓取相关的新闻

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 如今各大网站的反爬机制已经可以说是到了丧心病狂的程度,比如大众点评的字符加 ...

  5. Python爬虫入门(爬取豆瓣电影信息小结)

    Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...

  6. python爬虫入门(一)爬取钓鱼吧

    python爬虫入门(一)爬取钓鱼吧 # Date : 2022/1/1 17:11 ''' 需求:1.输入贴吧名称:钓鱼吧https://tieba.baidu.com/f?kw=钓鱼吧&p ...

  7. python 爬虫入门--文字爬取

    python 爬虫入门–文字爬取 对于爬虫,相信大家都不陌生,但是如何入门,大家还是停留在了解认知阶段吗?那可以试试下边的方法,一起来试一下. 首先我们试试爬取网页中的***文本信息*** 使用的是我 ...

  8. python爬虫代码房-Python爬虫一步步抓取房产信息

    原标题:Python爬虫一步步抓取房产信息 前言 嗯,这一篇文章更多是想分享一下我的网页分析方法.玩爬虫也快有一年了,基本代码熟悉之后,我感觉写一个爬虫最有意思的莫过于研究其网页背后的加载过程了,也就 ...

  9. Python爬虫项目:抓取智联招聘信息

    来自https://mp.weixin.qq.com/s/0SzLGqv2p0-IWSN3r8bOHA ''' Python爬虫之五:抓取智联招聘基础版 该文件运行后会产生一个代码,保存在这个Pyth ...

最新文章

  1. HNOI2019游记
  2. 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
  3. 【玩转 Angular】1. Angular-CLI 安装与使用
  4. 如何用图表控件实现点击图例图标隐藏图表序列
  5. 由一个小库存软件想到的
  6. Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后没有Windows 10的启动菜单解决方法...
  7. winform窗体模板_如何验证角模板驱动的窗体
  8. 商汤科技2020数据分析师0820笔试题目整理
  9. 1.7 编程基础之字符串 30 字符环 python
  10. WebFlux响应式编程基础之 4 reactive stream 响应式流
  11. [转载] python 字典的get()pop()方法的区别
  12. JQuery Easyui/TopJUI 多表头创建
  13. 图像处理/opencv/C++:图像马赛克
  14. 【OpenGL基础】|| GLAD配置
  15. matlab上机作业,matlab上机作业(数字信号处理)
  16. 360视频:正八面体投影OHP
  17. 【winui3】轻量笔记本应用
  18. 输入框内只能输入数字,输入其他内容不显示
  19. vscode能写winform窗体吗_VSCode——愉快的写C#
  20. java word模版填充_Java 数据填充到word模板中

热门文章

  1. 随机池化(Stochastic Pooling)
  2. 好的编程习惯受益的是自己 之一
  3. linux系统怎么制作win10,win10 + linux 制作双系统教程(我本身是win10系统)
  4. Failed to connect to server(code:1006)
  5. F# 图形数学基础。
  6. java string newline,Java BufferedWriter newLine()用法及代码示例
  7. Android Platform 3.0 SDK和Eclipse ADT安装记录三
  8. 小白学习latex的辅助资料
  9. 破晓传说Boss切屏效果小记
  10. 使用yum下载文件报No module named urlgrabber.grabber错