文档章节

python3写的腾讯漫画下载器

Feng_Yu
 Feng_Yu
发布于 2014/07/24 22:24
字数 273
阅读 3982
收藏 19
点赞 1
评论 28

代码很稀烂,开坑后一个月的时间,断断续续总算是写完了,主体功能完成,顺便PYQT5写了个GUI,并用cx_freeze打包,可以在windows下用。

项目托管在github: https://github.com/abcfy2/getComic

git@osc镜像仓库: http://git.oschina.net/abcfy2/getComic

预览效果

放几张预览图,支持不连续的章节选择下载。

windows下的效果:

在此输入图片描述

在此输入图片描述

deepin下效果:

在此输入图片描述

算法描述

腾讯的漫画从PC版访问时看到的是flash,但是移动版的页面却是图片,用ipad的UA请求ac.qq.com可以发现跳转为m.ac.qq.com,从这里入手就可以下载jpg的图片了。

页面的图片是用js生成的,用文本编辑器手工换行就可以很明确的看到js获取图片URL的算法,用python实现即可。

对于http://ac.qq.com/bleach, http://ac.qq.com/cf等这样的地址,用ipad的UA请求后可以直接跳转为m.ac.qq.com的地址,这个地址会带有id参数,就可以获取到图片了。

© 著作权归作者所有

共有 人打赏支持
Feng_Yu
粉丝 154
博文 38
码字总数 45477
作品 0
西安
运维
加载中

评论(28)

Feng_Yu
Feng_Yu

引用来自“kunkun2004”的评论

解析后,番外不出现啊

引用来自“Feng_Yu”的评论

能否给出漫画地址?我看看是怎么回事?如果你的是那种多个漫画(比如火影忍者的彩漫和黑白漫画)公用一个URL的,在PC页面是没法解析的。需要从m.ac.qq.com移动端页面进去,搜索地址才是不同的漫画id

引用来自“kunkun2004”的评论

http://ac.qq.com/Comic/ComicInfo/id/505430
跟火影忍者的一样。你看我的项目的README,说明过这种情况。因为这俩漫画实际是不同的ID,但是在PC端页面URL显示为同一个。我的脚本通过抓取URL正则解析漫画ID的。所以你需要从m.ac.qq.com进去搜索漫画,这样你会发现番外篇的URL是这个: http://m.ac.qq.com/comic/index/id/531616,明显可以看到ID和PC端那个是不一样的。粘贴这个地址就是番外篇的
kunkun2004
kunkun2004

引用来自“kunkun2004”的评论

解析后,番外不出现啊

引用来自“Feng_Yu”的评论

能否给出漫画地址?我看看是怎么回事?如果你的是那种多个漫画(比如火影忍者的彩漫和黑白漫画)公用一个URL的,在PC页面是没法解析的。需要从m.ac.qq.com移动端页面进去,搜索地址才是不同的漫画id
我傻了,谢谢
kunkun2004
kunkun2004

引用来自“kunkun2004”的评论

解析后,番外不出现啊

引用来自“Feng_Yu”的评论

能否给出漫画地址?我看看是怎么回事?如果你的是那种多个漫画(比如火影忍者的彩漫和黑白漫画)公用一个URL的,在PC页面是没法解析的。需要从m.ac.qq.com移动端页面进去,搜索地址才是不同的漫画id
http://ac.qq.com/Comic/ComicInfo/id/505430
Feng_Yu
Feng_Yu

引用来自“kunkun2004”的评论

解析后,番外不出现啊
能否给出漫画地址?我看看是怎么回事?如果你的是那种多个漫画(比如火影忍者的彩漫和黑白漫画)公用一个URL的,在PC页面是没法解析的。需要从m.ac.qq.com移动端页面进去,搜索地址才是不同的漫画id
kunkun2004
kunkun2004
解析后,番外不出现啊
Feng_Yu
Feng_Yu

引用来自“kunkun2004”的评论

打包的那个,下VIP的漫画只能下一页,失效了吗,还有救吗
暂时没办法了,TX把这个漏洞堵住了,没登录的就是只能看到收费章节的第一页图片。暂时我没找到好办法解决。
kunkun2004
kunkun2004
打包的那个,下VIP的漫画只能下一页,失效了吗,还有救吗
Feng_Yu
Feng_Yu

引用来自“法人代表”的评论

好像python3 TX comic这个失效了,不知道还有救没
没失效啊:
./getComic.py -u http://ac.qq.com/Comic/comicInfo/id/531490
漫画名: 一人之下
简介: 随着爷爷尸体被盗,神秘少女冯宝宝的造访,少年张楚岚的平静校园生活被彻底颠覆。急于解开爷爷和自身秘密的张楚岚和没有任何记忆“不死少女”冯宝宝开启了“异人”之旅……交流群:470599680
章节数: 262
章节列表:
1.姐姐1
2.姐姐2
3.一大波丧尸
4.大学快成义务教育了

windows打包版本那个很久没更新了,我本地以前的windows虚拟机被干掉了,就再也没去做cx_freeze打包了。用源码跑吧。
法人代表
好像python3 TX comic这个失效了,不知道还有救没
Feng_Yu
Feng_Yu

引用来自“Feng_Yu”的评论

curl -v -b cookies.txt -c cookies.txt -H 'Referer: http://m.ac.qq.com/Comic/view/id/505430/cid/801/pid/18449' 'http://m.ac.qq.com/View/mGetPicHash?
id=505430&cid=801' 请求两次,你就会发现返回json了,第一次请求的时候服务端响应头已经有Set-Cookie: ac_refer=http%3A%2F%2Fm.ac.qq.com%2FComic%2Fview%2Fid%2F505430%2Fcid%2F801%2Fpid%2F18449; 这个我记得我当时改这段代码的时候是没有的,不知道什么时候加上了。打开cookies.txt,也可以看到加入了这个cookie

引用来自“fashu”的评论

恩恩,那就是我没有加上Cookies了,我再试试,不会再来请教,谢谢啦

引用来自“Feng_Yu”的评论

cookie的ac_refer这个参数为空都是可以的。所以你只需要设置一下header,加上{'Cookie': 'ac_refer='}就可以了

引用来自“fashu”的评论

恩恩,cookies里面必须要有ac_refer而且不能为空,我现在实验的要是为空的话是得不到数据的
请求这个json页面,如果是收费漫画的话只能返回第一张预览图片了。最早是可以返回整个漫画章节的,当时腾讯只在前端页面做了认证,api却没有认证,现在不行了。我以为PC端页面会不一样,刚才看了一下,收费章节的base64串明显短,在开发者工具调试js运行结果也看到解密出来的也只有一张图。如果你有什么好办法在不登录的情况下能拿到收费章节的列表,也欢迎分享。
Feng_Yu/getComic

getComic 本代码仅供学习交流使用,严禁用于非法用途,各种PR都欢迎 下载腾讯漫画的脚本。空参运行进入交互式模式,支持的参数可以加或参数查看。 GUI版本提供windows下打包好的版本 点此下载...

Feng_Yu
2015/02/05
0
0
关于调用外部命令时与外部命令的数据交互的注意点

前两天,我打算下载点图片。用fiddler分析了下,结果那个网页大量使用js来操作cookie,弄得我头大。 go倒是有V8引擎的封装包,可是必须还得编译这个引擎,挺麻烦的。 想起来还有selenium-py...

刘地
2014/10/02
0
0
Fedora下安装Retext

Contents: --- 因为习惯了Markdown的简单,所以需要在自己的Fedora机子上也装一个本地编辑器,Retext是一个不错的选择. 在Ubuntu下安装Retext很简单,只需要通过软件包管理就可以了,使用如下命...

bairui
2014/06/18
0
0
漫画线稿上色 AI - Paints Chainer

Paints Chainer 是一款用于为漫画上色的工具,只需上传一张黑白线稿,点击按钮,背后的 AI 即可自动为你生成一张彩色漫画。 DEMO https://paintschainer.preferred.tech/ https://paintscha...

匿名
05/17
0
0
Python高级编程和异步IO并发编程

Python高级编程和异步IO并发编程 网盘地址:https://pan.baidu.com/s/1eB-BsUacBRhKxh7qXwndMQ 密码: tgba 备用地址(腾讯微云):https://share.weiyun.com/5Z3x9V0 密码:7cdnb2 针对Pytho...

人气王子333
04/23
0
0
python利用微信订阅号报警

利用python模拟登录到微信公众平台订阅号,给用户列表中的用户发送微信。 说明:用户列表中的每个用户都有一个tofakeid,为微信用户的唯一标识,本来是做一个微信报警的,可是腾讯没有对外提供...

ityusong
06/29
0
0
Python开发(基础):初识Python

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quo...

wbb827
07/03
0
0
在Windows上编译MongoDB C Driver

  Mongodb 是采用 Scons 来构建的。Scons是一个Python写的自动化构建工具,从构建这个角度说,它跟GNU make是同一类的工具。所以要编译MongoDB的C语言驱动,不仅要有C/C++开发环境,而且还...

微云无雨
2013/08/07
0
1
Python学习札记(2)——搭建Boa-constructor

一、Boa-constructor是什么 看看来自己百度的解释:Boa Constructor是一个跨平台的Python集成开发环境和wxPython图形用户界面构建器。它提供了可视化方式的框架(窗口) 的创建 和处理、对象...

东方卯
2014/03/04
0
2
Python抓取框架:Scrapy的架构

Python抓取框架:Scrapy的架构 最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这...

durban
2012/04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
10分钟前
0
0
Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
1
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0
adb 操作指令详解

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。...

孟飞阳
今天
0
0
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
今天
1
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
今天
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
今天
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部