话不多说,我们的目的: 使用scrapy爬取安卓版QQ阅读所有的小说(只是小说的基本信息,小说内容是不要想的、千万不要想……)

环境准备

安卓收集模拟器:夜神模拟器

安卓手机抓包工具:fiddler

代码运行环境:   python3.6

存储数据库: postgreSQL。

大体思路

本来想详细的写一写过程步骤,但是懒癌来了怎么都拦不住。下面可以给大家一个,每一步骤的具体操作网上都有,不难也不难理解,我会上传一份可用的自己写好的QQ阅读的scrapy代码,直通车——。

(1)准备好postgreSQL数据库,设置可远程连接。

(2)夜神模拟器安装QQ阅读。

(3)通过fiddler监听夜神模拟器发出的所有请求。

需要注意的是:fiddler默认不监听https的请求,我们需要在它的设置里面取设置,并且要在被监听的模拟器里面安装信任安全证书。

(4)分析QQ阅读的请求,找到我们需要的数据接口并分析其Json规则。

QQ阅读APP的规则并不难找,只能上面的监听成功了。我们就可以在QQ阅读的全部分类里面,先爬取到所有的分类,然后对每一个分类分别爬取其下所有的小说,具体规则如下:

1、大类别(男女、出版、漫画、听书)下的小类别:https://androidtgw.reader.qq.com/v7_0_5/queryOperation?categoryFlag=1
(categoryFlag 1—5代表五种大类别,返回数据种actionId为小类别Id)

2、小类别下小说列表(举例 男生—玄幻):http://rec.reader.qq.com/v7_0_5/listDispatch?actionTag=,-1,-1,-1,-1,101&actionId=20001&action=categoryV3&pagestamp=1 (pagestamp为分页标识)

3、某一小说(举例 男生-玄幻,男生-奇幻,女生-言情):

奇幻:
https://androidtgw.reader.qq.com/v7_0_5/nativepage/book/detail?pagestamp=1&alg=67.1.11&dataType=cate_id&data_type=0&fromPage=&origin=20005&bid=25297287
言情:https://androidtgw.reader.qq.com/v7_0_5/nativepage/book/detail?bid=25054827&pagestamp=1&alg=67.1.11&dataType=cate_id&data_type=0&fromPage=&origin=30013
(bid为书籍标识,actionId为小类别id,pagestamp为分页标识)

(5)搭建scrapy框架,根据上面得到的规则编写代码,进行数据的爬取。

这里需要注意的地方是 我们爬取一些(有反爬虫的)网站的时候要么使用个代理ip池、要么设置个爬取延时,不然这些网站可能会封掉我们的ip,不过QQ阅读还是没有的,至少没有封掉我……

Hadoop笔记之十七——爬虫框架scrapy实际案例(爬取安卓版QQ阅读)相关推荐

  1. python爬京东联盟_python爬虫框架scrapy实战之爬取京东商城进阶篇

    前言 之前的一篇文章已经讲过怎样获取链接,怎样获得参数了,详情请看python爬取京东商城普通篇,本文将详细介绍利用python爬虫框架scrapy如何爬取京东商城,下面话不多说了,来看看详细的介绍吧 ...

  2. 初探Scrapy爬虫框架之百度网页爬取

    初探Scrapy爬虫框架之百度网页爬取 scrapy框架及百度网页爬取与保存 一.scrapy框架简介 二.自己初使用的心得体会 1.爬虫之前明确目标 2.scrapy框架的简单使用流程 3.scra ...

  3. python 写csv scrapy_scrapy爬虫框架实例一,爬取自己博客

    本篇就是利用scrapy框架来抓取本人的博客,博客地址:http://www.cnblogs.com/shaosks scrapy框架是个比较简单易用基于python的爬虫框架,相关文档:http:/ ...

  4. Python爬虫之scrapy高级(全站爬取,分布式,增量爬虫)

    文章目录 1 scrapy全站爬取 1.1 全站爬取简介 1.2 CrawlSpider 1.2.1 基本讲解 1.2.2 使用CrawlSpider 1.2.2.1 爬虫文件 1.2.2.2 ite ...

  5. python爬取电影网站存储于数据库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)...

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  6. python爬网站的题库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  7. python爬虫scrapy安装_零基础写python爬虫之爬虫框架Scrapy安装配置

    前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识, 用来解决简单的贴吧下载,绩点运算自然不在话下. 不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点. 于是乎,爬虫 ...

  8. Python3 爬虫学习笔记 C17【爬虫框架 pyspider — 基本使用】

    Python3 爬虫学习笔记第十七章 -- [爬虫框架 pyspider - 基本使用] 文章目录 [17.1]初识 pyspider [17.2]使用 pyspider [17.2.1]主界面 [1 ...

  9. pythonscrapy爬虫安装_零基础写python爬虫之爬虫框架Scrapy安装配置

    前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识, 用来解决简单的贴吧下载,绩点运算自然不在话下. 不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点. 于是乎,爬虫 ...

最新文章

  1. boost::geometry模块实现自定义点示例
  2. 模拟操作网页 webBrowser
  3. Marketing Cloud demo环境和API使用方法说明
  4. 甲骨文将Exadata Cloud转化为内部软件包
  5. Java讲课笔记05:运算符与表达式
  6. (2)verilog语言编写打两拍
  7. jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
  8. 微服务架构的链路追踪和故障快速排查zipkin(微服务治理)
  9. php pdo oci8,PHP516 用phpize增加扩展PDO_OCI和OCI8
  10. 无线通信基础(一):无线网络演进
  11. Windows安装Geopandas教程
  12. 电路基础-二阶(second -order) 电路
  13. SpringBoot整合mybatis出现BindingException: Invalid bound statement (not found)问题解决
  14. lightbox使用_如何使用CSS和JavaScript创建Lightbox Ultra
  15. 两张图搞懂:共模干扰和差模干扰
  16. ftp的20 21端口和主动被动模式
  17. HTTP 503 Service Temporarily Unavailable
  18. 计算机无法加载加密文件,win10电脑加密,win10加密文件无法解密
  19. Docker架构与工作流程
  20. Android 用HorizontalScrollView实现ListView的Item滑动删除

热门文章

  1. 【转】关于SHSH破解
  2. 手机短信如何实现实时传真通告
  3. 红旗Linux安装QQ
  4. 余额宝漏洞 可绕过用户登录 5W奖励“白帽子”
  5. sockaddr和sockaddr_in详解
  6. 地震信号滤波matlab,GABOR反褶积用于地震信号的时频分析
  7. 服装店管理软件有哪些功能?
  8. GRE满分女生经验谈(完整版)
  9. 微信小程序 webview 截图 保存相册
  10. Midjourney AI绘画中文教程详解(完整版)模型、命令、参数与各种高级用法