用Python抓腾讯漫画?

用Python抓腾讯漫画?

说起来我很久没有写爬虫了
主要是觉得 如果能花比较少的钱
就能得到一份资料的话
那付出一点费用作为酬劳又何尝不可呢

说个同事小哥告诉我的事情:

国内比较有名的ip库
地址ipip.net/
付费和免费的api接口,免费的接口有一定的限制
这个网站的站长曾经说
我发现很多人(公司)宁愿花钱部署大量的服务器爬虫来查我的ip库
也不愿意付一点点费用来获取更好的服务

缘起

那我这次为啥要来写 腾讯漫画 爬虫的呢?

是因为有一个父亲在公众号后台问我
能不能做个 腾讯漫画 的爬虫
来给他女儿学画画的时候当做素材




一开始我也推荐他去直接买一个vip包月服务

后来我打开腾讯漫画一看
发现根本没有包月这种东西

每一章漫画都要付一定的费用
并且还没有下载的功能
于是我撸起袖子搞了这个爬虫

先看效果

  • 下载过程
  • 下载之后
  • 图片文件
  • 预览效果


还不错吧~

部分代码

基本思路就是:

  • 抓取列表页
  • 抓详情页
  • 解析图片地址
  • 下载图片

比较关键的是对于图片地址的解析
这里腾讯数据是经过加密的

我研究了好一会才知道是怎么回事~

def get_chapter_pics(self, url):
    '''获取指定章节漫画图片地址'''
    html_text = self.get_html(url)
    html = self.parser(html_text)

    b64_data = html.search("var DATA        = '{}'")[0][1:]
    info_str = base64.b64decode(b64_data).decode('utf-8')
    pics = json.loads(info_str)['picture']
    for pic in pics:
        pic.pop('width')
        pic.pop('height')
    return pics


漫画的基本数据会以json的格式存在本地
差不多是这样:



最后

为什么说可以免费下呢?
这就需要大家去研究一下腾讯漫画的代码了
请@一下腾讯漫画的技术咯

我就不明着说出来啦


话说代码我也开源带Github
需要用的小伙伴自取啊~
link: github.com/Ehco1996/Pyt

编辑于 2018-07-12

文章被以下专栏收录