拷貝漫畫 - 海賊王 海贼王 哥布林殺手 哥布林杀手 漫畫 漫画 FGO FGO 東方 东方 艦娘 舰娘 同人志 本子 更新 全集 在綫漫畫 在线漫画 - 拷貝漫畫 拷贝漫画 (copymanga.com)https://www.copymanga.com/        拷贝漫画是一个神奇的网站,他的服务器在新加坡,所以可以规避一些风险。资源也丰常丰富,但可惜的是目前还没有ios的客户端,直接看网页端的体验比较一般。所以就萌生出写一个爬虫来下到本地观看的想法。

废话不多说直接上代码:

# 制作时间 2021/9/2 10:36
#此为搜索功能模块提供,拷贝漫画搜索资源库,回报搜索结果和提供详情页的功能import requests,os
from urllib import parse
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time'''测试连接'''
print('欢迎使用不可名状的漫画下载器v1\n软件版本 V2 更新时间2021-9-2 有问题加\n正在连接境外服务器请稍后....\n注意安装浏览器驱动chromedriver.exe')
utl1='https://www.copymanga.com/'
text1=str(requests.get(utl1))
text2="<Response [200]>"'''联网检测函数''''''向下滑动函数'''
def slide1():for wert in range(300):ActionChains(diverex).key_down(Keys.PAGE_DOWN).key_up(Keys.PAGE_DOWN).perform()time.sleep(0.2)if wert%15==0:time.sleep(2)
def slide2(qqq):for wert in range(qqq):ActionChains(diverex).key_down(Keys.PAGE_UP).key_up(Keys.PAGE_UP).perform()time.sleep(0.2)try:if text1==text2:print('服务器连接成功!')'''开始抓包'''headers={'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.''4515.159 Mobile Safari/537.36 Edg/92.0.902.84'}need_name=input('请输入你想要搜索的漫画名称\n在此输入:')need_name2=parse.quote(need_name)utl=f'https://www.copymanga.com/api/kb/web/searchs/comics?offset=0&platform=2&limit=12&q={need_name2}&q_type='sosuoweb=requests.get(utl)wer_er=sosuoweb.json()'''这里输出一个带有所有缩影漫画的内容的列表'''wer_er2=wer_er['results']['list']'''遍历元祖的项目'''i=1dic_link={}name2={}#这里存储所哟序号对应的漫画名称for list_name in wer_er2:#look = list_name['path_word']'''导出所有元祖里面的name属性'''face_link = f'https://api.copymanga.com/api/v3/comic/' + look + f'/group/default/chapters?limit=''''导出所有元组里面对应的 抓包链接'''dic_link[i] = face_link'''吧序号和连接绑定,准备后面引用'''print(i, list_name['name'])name2[i]=list_name['name']i += 1'''将输入的序号和字典内容匹配提取utl'''name1=int(input('请输入下载漫画的序号,以回车结束\n:'))out_link1=dic_link[name1]print('正在解析')list2=[]for yema in range(100,500,100):out_link2=out_link1+f'{yema}&offset=0'over_link=requests.get(out_link2).json()list2+=over_link['results']['list']print('正在解析')list_i=1second_dic={}myh_list={}for last_name2 in list2:meiyihua=last_name2['name']+'--'mg_id='https://www.copymanga.com/comic/'+look+'/chapter/'+last_name2['uuid']second_dic[list_i]=mg_idif list_i%5==0:abd='\n'else:abd = ' 'print(meiyihua,f'下载序号-{list_i}    ',end=abd)myh_list[list_i]=last_name2['name']list_i+=1'''print(myh_list.items()) 这个是显示 每个下载序列是那个名字''''''获取每一话的漫画界面'''lalb=input('\n请输入下载序号星号不要,以回车结束\n若是想进行区间下载可以输入开始和结束下载序号,中间用一个空格分隔,例:1 5\n:')print(lalb)la=int(lalb.split()[0])lb=int(lalb.split()[-1])list_last=[]'''创建漫画文件夹'''if os.path.isdir(name2[name1]):passelse:os.mkdir(name2[name1])'''打开浏览器'''diverex = webdriver.Chrome(executable_path='./chromedriver.exe')diverex.set_window_size(480, 800)'''打开漫画阅读界面准备爬取'''for inin in range(la,lb+1):last_link = second_dic[inin]print(last_link)'''创建每一话的下载目录'''if os.path.isdir(f"{name2[name1]}/{myh_list[inin]}"):os.makedirs(f"{name2[name1]}/{myh_list[inin]}(1)")if os.path.isdir(f"{name2[name1]}/{myh_list[inin]}(1)"):os.makedirs(f"{name2[name1]}/{myh_list[inin]}(2)")if os.path.isdir(f"{name2[name1]}/{myh_list[inin]}(2)"):os.makedirs(f"{name2[name1]}/{myh_list[inin]}(3)")if os.path.isdir(f"{name2[name1]}/{myh_list[inin]}(3)"):os.makedirs(f"{name2[name1]}/{myh_list[inin]}(4)")else:os.makedirs(f"{name2[name1]}/{myh_list[inin]}")'''浏览器打开漫画阅读界面准备爬取'''diverex.get(last_link)'''滚轮到最下的函数'''slide1()'''这里是一共有几张图片'''lixt_shuzi = len(diverex.find_elements_by_xpath('html/body/div[1]/div/ul/li'))'''print(lixt_shuzi,'图片数目')''''''缓冲时间'''if lixt_shuzi>30:slide2(120)elif lixt_shuzi>50:slide2(200)elif lixt_shuzi>80:slide2(320)elif lixt_shuzi>120:slide2(480)elif lixt_shuzi>200:slide2(800)elif lixt_shuzi > 300:slide2(1200)'''创建每一张的名字和其对应的图片链接'''for ex in range(1,lixt_shuzi+1):lixt_down=diverex.find_elements_by_xpath(f"html/body/div[1]/div/ul/li[{int(ex)}]/img")[0].get_attribute("src")print(lixt_down)xiazai=requests.get(lixt_down)'''开始写入漫画'''with open(f"{name2[name1]}/{myh_list[inin]}/第{ex}页.jpg",'wb') as f:f.write(xiazai.content)f.close()else:print("连接失败!请检查网络连接并重启软件")input('按任意键退出')except:print("老兄你有参数输错了,软件重开试试吧\n""可能出现的问题:\n""1.选择漫画的时候输入的是最前面的序号。\n""2.下载的时候单独下载一话只要输入一个下载序号即可\n""3.区间下载先写开始的序号然后是空格(只有一个)然后写结束的序号")input('按任意键退出')

因为这个网站是动态网页,所以在详情页采用了抓包的方法。提取了pc版的阅读界面(app版本阅读界面会有5张限制)。

拷贝漫画检索下载爬虫相关推荐

  1. 【pyhon】怨灵侍全本漫画批量下载爬虫1.00

    代码: # 怨灵侍全本漫画批量下载爬虫1.00 # 拜CARTOON.fydupiwu.com整理有序所赐,寻找图片只要观察出规律即可,不用费劲下一页的找了 import time import ur ...

  2. 爬虫学习——批量在中国气象中心网站检索下载数据

    批量在中国气象中心网站检索下载数据 前几天嗓子不舒服之后就病了,不过现在好一点.最近师哥喊我通过国家气象中心网站帮他下载时间跨度比较长的气象数据,但是这个网站对不同的数据集检索有日期要求,也就是说有的 ...

  3. Node.js制作图片下载爬虫的一般步骤

    图片下载爬虫分两部分:爬页面和下载图片. 爬页面时先看网址是https还是http的,然后选择不同的内置对象:其次看编码,如果是charset=gb2312的网页就需要iconv帮忙转码,好在大部分都 ...

  4. 爬虫python下载-python 下载 爬虫

    python 下载 爬虫 用python 写爬虫,一般基于两种形式: 1. 为了爬取 页面内容.2. 下载文件,有很多下载站,提供下载链接. 这两种爬虫,都有可能遇到需要登录后才能下载.所以涉及到用p ...

  5. Node.js meitulu图片批量下载爬虫1.051

    原有1.05版程序没有断点续传模式,现在在最近程序基础上改写一版1.051. //====================================================== // m ...

  6. 【pyhon】nvshens图片批量下载爬虫1.01

    # nvshens图片批量下载爬虫1.01 # 原先版本在遇到网络故障时回下载不全,这回更改了模式使得下载不成就重新下载,直到全部下载完毕 from bs4 import BeautifulSoup ...

  7. python下载vip素材_Python素材下载爬虫,多线程rar下载爬虫

    一个多线程素材下载爬虫,实现多线程素材下载,包含素材包rar,素材图及素材描述,应用了经典的生产者与消费者模式,不过数据没有下载全,容易出现卡死的问题,期待后期能够解决相关问题,可以算是一个半成品,供 ...

  8. 2017年10米分辨率全球土地覆盖产品(FROM-GLC10)Python下载爬虫

    此为2017清华大学地球系统科学系宫鹏教授团队研发的重大成果世界首套"2017年10米分辨率全球土地覆盖产品(FROM-GLC10)"爬虫下载爬虫分享. 一.参考网站 1. 全国各 ...

  9. 自适应漫画APP下载单页二次元

    介绍: 自适应漫画APP下载单页二次元 网盘下载地址: http://kekewangLuo.cc/Qsur2vdu335 图片:

最新文章

  1. 初学者易上手的SSH-hibernate04 一对一 一对多 多对多
  2. 怎么用python做表格-怎么用python画表格?
  3. SAP 生产订单结算
  4. 软考-信息系统项目管理师-项目成本管理
  5. 依赖注入底层反射原理_Spring中反射与反射的原理(转载)
  6. 【leetcode】443. String Compression
  7. 机器学习算法系列(一)-基础机器学习算法入门
  8. spring学习(23):基础组件
  9. 基础算法---二分查找
  10. OC小实例关于init方法不小心的错误
  11. 档案查询系统php,档案信息管理系统 v2.0
  12. 数据铁笼-郑州Android项目ViewPager刷新问题
  13. 解决python使用猴子补丁时引入ssl错误
  14. 【目标检测】已知top, left, bottom, right 求 xmin,ymin,xmax,ymax
  15. java8新特性stream流
  16. 一位微信小程序萌新的学渣笔记(三)基础语法之常见组件
  17. 提交表单 form submit 不跳转实现
  18. WeDrivePlugin64_24.dll 引发win7系统不能进入桌面
  19. strcmp和==比较
  20. Android中添加万普广告墙、推送广告等

热门文章

  1. 驱动仿真物品移动乌龟\Gazebo\cmd_vel和/gazebo/set_model_state
  2. 来自 Serenity 的 Java 8 的一些使用技巧
  3. 用一年的数据预测下一年数据_一年的招聘数据中的经验教训
  4. 【Comsol学习】二维非稳态热传导问题
  5. 大学四年的生活规划——做一个清醒的奋斗者
  6. Fairy GUI 使用
  7. python中怎么统计英文字符的个数_【Python练习1】统计一串字符中英文字母、空格、数字和其他字符的个数...
  8. 解决默认浏览器被劫持
  9. 局部加权回归(LWR) Matlab模板
  10. 假如有这样一种生活……