用Python下载漫画,每天掌握一个实用知识
创始人
2024-04-03 17:14:14
0

嗨嗨,大家好

最近看小说和漫画看的有点上头…

就顺便用Python来采集一下漫画吧

随便抓个漫画分享一下,搞清楚思路后,自己多练练就能自己采集想看的漫画咯

请添加图片描述

知识点:

  • 爬虫基本流程
  • 保存海量漫画数据
  • requests的使用
  • base64解码

开发环境:

  • 版 本:python 3.8
  • 编辑器:pycharm
  • requests: pip install requests
  • parsel: pip install parsel

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests)
    回车
  2. 在pycharm中点击Terminal(终端) 输入安装命令

实现代码:

  1. 发送请求
  2. 获取数据
  3. 解析数据
  4. 保存数据

代码

import base64
import requests
import re
import json
import parsel
import os
# 伪装
headers = {# 用户信息'cookie': '__AC__=1; tvf....

在这里插入图片描述

源码.资料.素材.点击领取即可

select = parsel.Selector(requests.get(main_url, headers=headers).text)
title_list = select.css('.chapter-page-all.works-chapter-list li a::text').getall()
link_list = select.css('.chapter-page-all.works-chapter-list li a::attr(href)').getall()for title, link in zip(title_list, link_list):url = 'https://ac.qq.com' + linktitle = title.strip()if not os.path.exists(f'中国惊奇先生/{title}'):os.makedirs(f'中国惊奇先生/{title}')# 1. 发送请求response = requests.get(url=url, headers=headers)print(title, url)# 2. 获取数据html_data = response.text# 3. 解析数据DATA = re.findall("var DATA = '(.*?)'", html_data)[0]for i in range(len(DATA)):try:json_str = base64.b64decode(DATA[i:].encode("utf-8")).decode("utf-8")json_str = re.findall('"picture":(\[.*?\])', json_str)[0]# 字符串 转 字典/列表json_list = json.loads(json_str)count = 1for imgInfo in json_list:imgUrl = imgInfo['url']print(imgUrl)# 4. 保存数据img_data = requests.get(url=imgUrl).contentwith open(f'中国惊奇先生/{title}/{count}.jpg', mode='wb') as f:f.write(img_data)count += 1breakexcept:pass

请添加图片描述

最后效果

在这里插入图片描述

在这里插入图片描述

好啦,文章分享到这里也就结束啦

想用视频学习Python的可以点击此处~

或者在小破站搜索:Python小圆

对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/

请添加图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...