Python爬虫入门-fiddler抓取手机新闻评论

标签: python 手机 爬虫 fiddler4
822人阅读 评论(0) 收藏 举报
分类:

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

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

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

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

分析-01.png

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

分析-02.png

这个规律还是比较好找的,通过我不断对评论页的下拉,只有最后的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 ToutiaoChanfuItem

class 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.text
        if 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 = False

DEFAULT_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,
}

成功运行后是这样的:

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

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

运行-02.png

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

查看评论

利用爬虫爬取 zol网站热门手机

使用了20几分钟,爬取了zol相关的热门手机型号、特点、价格、上市时间、屏幕大小相关信息。对最新的热门手机做了一个简单的统计。如果你想知道任何其他的信息,可以给我留言。我已经把我的相关代码传导了git...
  • xiao_tommy
  • xiao_tommy
  • 2016-11-27 10:25:14
  • 975

Python爬虫:抓取手机APP数据

转载地址http://www.open-open.com/lib/view/open1453339544042.html 来自: http://my.oschina.net/jhao...
  • l_215851356
  • l_215851356
  • 2017-01-12 14:21:20
  • 14242

python3爬取新浪新闻内容

代码如下:#commentsUrl用于获取新闻评论数等json信息 commentsUrl = 'http://comment5.news.sina.com.cn/page/info?version=...
  • xiangwanpeng
  • xiangwanpeng
  • 2017-02-20 15:05:43
  • 1894

Python爬虫:抓取新浪新闻数据

案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称、时间、链接。 完整代码: from bs4 import Beautif...
  • bestdwd
  • bestdwd
  • 2017-05-31 12:29:31
  • 1070

利用Fiddler手机抓包对ONE·APP网页爬虫实现电影资讯微信Java开发

实现电影资讯微信订阅号Java开发。 1. 利用Fidder抓包工具,通过手机代理抓取ONE电影请求; 2. 使用jackson解析json数据,分析并提取有用信息; 3. 使用微信后台框架,匹配关键...
  • qq598535550
  • qq598535550
  • 2016-07-25 01:54:23
  • 9108

python 爬取网易新闻评论

前段时间在看处理数据相关的书籍,需要爬取一些网上评论的文本数据集,所以想到爬取网易新闻底下的评论。本来想着Python+beautifulsoup(解析)+requests(抓取),最后存储在txt文...
  • kervin2012
  • kervin2012
  • 2017-07-18 16:33:02
  • 1469

网易新闻评论爬虫(python+selenium+PhantomJS)

警示:请勿转载内容 网易新闻评论爬虫设计 废话不多说,我们要爬取这样一个网易的新闻评论页面,页面URL如下:url = "http://comment.news.163.com/news3_bbs/A...
  • bcj296050240
  • bcj296050240
  • 2015-06-29 20:31:32
  • 2011

Python - 通过requests实现腾讯新闻抓取爬虫

最近也是学习了一些爬虫方面的知识。以我自己的理解,通常我们用浏览器查看网页时,是通过浏览器向服务器发送请求,然后服务器响应以后返回一些代码数据,再经过浏览器解析后呈现出来。而爬虫则是通过程序向服务器发...
  • guangmingsky
  • guangmingsky
  • 2017-06-02 15:01:34
  • 3385

python爬虫之爬取腾讯新闻

本文目的抓取腾讯新闻首页中要闻页签下的所有新闻标题和链接。 如图: 地址:http://news.qq.com/top_index.shtml 要闻页签中一般会有几个分页: 所以要爬取要闻下的所...
  • nice_xp
  • nice_xp
  • 2017-06-11 16:00:34
  • 2403

Python爬虫:抓取手机APP的数据

点击上方“程序员大咖”,选择“置顶公众号”关键时刻,第一时间送达!抓取APP数据包得到超级课程表登录的地址:http://120.55.151.61/V2/StudentSkip/loginCheck...
  • Px01Ih8
  • Px01Ih8
  • 2018-01-13 00:00:00
  • 1559
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 412
    排名: 11万+
    文章存档
    最新评论