qiman6漫画爬虫脚本

本次的python爬虫脚本有以下两个重点

1 . 利用requests库的post命令获取漫画每一章节的id, 然后组成对应的漫画每一章的地址

 $.ajax({type: "POST",url: "/bookchapter/",data: { "id": 13079, "id2": 1},dataType: 'json',

根据上述漫画目录网址的源码得知,需要发送post命令获取章节的id,post命令的data是{ "id": 13079, "id2": 1},url是‘http://m.qiman6.com/bookchapter/’。

Posturl = 'http://m.qiman6.com/bookchapter/'
PostData = {'id': '13079', 'id2': '1'}
postreq = requests.post(Posturl, PostData)  # 发送post请求,第一个参数是URL,第二个参数是请求数据
for it in postreq.json():ChappterUrl.append(url + it['id'] + '.html')

2 .利用js2py库模拟javascript脚本的执行,获取每一章漫画的按顺序排列的漫画地址

首先利用正则表达式找到要传入的6个参数和javascript的函数,然后直接利用js2py库调用该函数就可以得到按顺序排列的漫画图片地址

CapReq = requests.get(ChappterUrl[idChappter])if len(ChappterUrl) - idChappter > 0:os.mkdir(str(len(ChappterUrl) - idChappter))jsContent = re.findall(r'eval(?:.*?)\{\}',str(CapReq.content))[0]jsPattern = re.compile(r'eval(?:.*?)\{.*?return \w?\}')jsOut = jsPattern.findall(jsContent)paramPattern = re.compile(r'\w \w=\[(?:.*)\{\}')paramOut = paramPattern.findall(jsContent)param0 = re.compile(r".*?=\[.*?]")param0Out = param0.findall(paramOut[0])param1 = re.compile(r".*?=\[.*?]\\',(\d+),(\d+),.*?")param1Out = param1.findall(jsContent)param4 = re.compile(r'(?:com|pstatp|https|origin)(?:.*?)split')param4Out = param4.findall(jsContent)if len(param4Out) == 0:continueelse:param4str = str(param4Out[0]).replace("\\'.split", "")#print(param4str.split('|'))param5 = re.compile(r',(\d+),\{\}')param5Out = param5.findall(jsContent)#print(param5Out[0])#print(param1Out[0][0])#print(param1Out[0][1]) #javacript脚本的参数截取strOut = str(jsOut)strOut = strOut.replace("\\\\\\", "\\")strOut = strOut.replace("\\\\\'", "\\'")strOut = strOut.replace(r"\\\\", r"\\")strOut = strOut.replace(r"\'", r"'")#print(strOut)strOut = strOut[7:len(strOut) - 2] #javasript脚本截取#print(strOut)exjs = js2py.eval_js(strOut)p = param0Out[0]a = param1Out[0][0]c = param1Out[0][1]k = param4str.split('|')e = param5Out[0]d = []imgUrls = exjs(p, a, c, k, e, d) #执行javascript脚本imgUrls = str(imgUrls).replace("var newImgs=[", "").replace("]", "").split(",")

3 . 最终脚本的执行结果

漫画脚本的下载地址:链接:http://pan.foxhost.top/,提取码:7746 纯属娱乐,不喜轻喷。

qiman6漫画爬虫脚本相关推荐

  1. [Python BeautifulSoup Threading] 多线程漫画爬虫

    漫画爬虫 简介 爬取公开漫画资源,下载完成后打包成Zip发送至手机指定文件夹. 20201020:新增manganelo爬虫,也是英文漫画,使用了beautifulsoup解析网页,同时使用了多线程. ...

  2. 一个简单的防爬虫脚本(转载欧彬)

    因为公司有时候受爬虫的影响,有时候应用压力很高,所以决定封掉大部分爬虫. 1.检测user-agent 2.设定一个阀值,如果超过这个访问阀值,就进入灰名单,某个时间段联系两次进入灰名单,就干掉这个i ...

  3. fofa自动化爬虫脚本更新+详解

    fofa自动化爬虫脚本更新+详解 起因 最近要用到fofa爬虫,为什么要用爬虫不用api,问就是穷,想起来之前写过一个相关的脚本:Fofa-python-脚本,是很久以前写的了,之前写的时候有点问题, ...

  4. Python项目实战:下载腾讯漫画的脚本及源码【女朋友在也不担心我花钱购买漫画了】

    目录 工具: 命令行帮助 GUI预览效果 全部源码: 下载源码: 代码仅供学习交流使用 下载腾讯漫画的脚本.空参运行进入交互式模式,支持的参数可以加-h或--help参数查看. 工具: python3 ...

  5. C++编写爬虫脚本爬取网站图片

    C++编写爬虫脚本爬取网站图片 整体代码设计思路 具体功能实现 初始化网络库 url中爬取图片 获取网页源代码 连接主机 url中获取主机名和文件名 html中提取连接 html中提取图片链接 获取并 ...

  6. mangabz漫画网鬼灭之刃漫画爬虫

    mangabz漫画爬虫 遇到的问题(未解决) 1:多线程导致开启多个chrome内存溢出,或者chrome崩溃 2:下载不全需执行多次补全漫画 3:日志打印混乱 import requests imp ...

  7. python爬虫脚本入门——飞天秒杀脚本

    前言 前段时间抢茅台脚本非常火,它是Python脚本,加上刚好最近在学习Python,我们准备通过这个脚本,来加深学习Python. 抢茅台的脚本其实属于爬虫脚本的一类,它实现了模拟登陆,模拟访问并抓 ...

  8. 【Python爬虫脚本】拒绝黄牛从我做起!Python自动抢购脚本,准点原价秒杀飞天茅台!!!

    前言 点击下方视频即可查看详细教程 [Python爬虫脚本]拒绝黄牛从我做起!Python自动抢购脚本,准点原价秒杀飞天茅台!!! 源码领取 上述这份完整版的源码课件已经上传CSDN官方,朋友们如果需 ...

  9. python练手漫画爬虫,代码,软件成品打包下载链接,效果图

    #-*-coding:GBK -*- import urllib.request import lxml import pyquery import zlib import winreg #操作注册表 ...

最新文章

  1. PTA数据结构与算法题目集(中文)7-18
  2. java 调用codesoft_请问各位前辈高人,java调用codesoft,如何给lab文件中的变量赋...
  3. Tensorflow的基本运行方式--demo程序
  4. jsp 使用base标签 没有作用_JSP学习篇
  5. 【渝粤教育】电大中专学前儿童科学教育 (14)作业 题库
  6. mac mysql安装失败_Mac mysql安装失败解决方法
  7. Change Unidirectional Association to Bidirectional(将单向关联改为双向关联)
  8. web项目出现的异常
  9. Seata多微服务互相调用_全局分布式事物使用案例_Account-Module 账户微服务说明---微服务升级_SpringCloud Alibaba工作笔记0064
  10. [COCI2011-2012#7] KAMPANJA
  11. 透明加密系统设计及实现-透明加密的关键技术
  12. python等待键盘输入_Pythoninput实现等待键盘输入,超时返回缺省值,并且释放input...
  13. 上传gitlab ! [remote rejected] dev - dev (pre-receive hook declined)
  14. 求解带不确定事件的FJSP的多目标强化学习框架
  15. Java+高级篇+单核CPU vs 多核CPU
  16. AutoCad 新建或打开对话框 经常变为命令提示行的解决办法!
  17. 窗函数概念知识点统计
  18. JavaScript基础知识总结复习(一)
  19. 【深度学习】半监督学习入门:Mean teachers
  20. 传统音乐制作与计算机音乐制作,电脑音乐制作与传统音乐制作的方式差异分析...

热门文章

  1. 如何修改iview源码
  2. itunes一直显示正在验证iphone恢复_iPhone 如何降级?可能要抓紧啦
  3. 【C语言】循环链表解决约瑟夫环问题
  4. Swift学习笔记 (十八) 结构体和类
  5. 重构零售消费场景--新零售与人工智能论坛2017 顺利落下帷幕
  6. 如何使用winscp工具连接windows(windows to windows)
  7. 成长的NFC移动支付和非接触式支付
  8. 【flowable】七、flowable流程分配
  9. matlab对一类系统仿真,基于MATLAB的一类离散事件动态系统仿真
  10. 在当前文件夹打开PowerShell