Python采集某漫画网站<灵剑尊>VIP漫画内容

news2024/11/24 1:52:29

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

环境使用:

  • Python 3.8

  • Pycharm

模块使用:

  • requests >>> pip install requests 数据请求模块

  • parsel >>> pip install parsel 数据解析模块

安装方法:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

本次 采集目标:灵剑尊


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可


案例分为三部分:

一. 采集单章漫画内容

二. 采集整本漫画内容

三. 采集整个网站内容

代码展示

导入模块

# 导入数据请求模块 
import requests
# 导入数据解析模块
import parsel
# 导入正则
import re
"""
1. 发送请求: 模拟浏览器对于url地址发送请求
- 模拟浏览器: 防止被反爬
    headers请求头 <开发者工具中复制>
- 请求url地址
- 发送请求 / 请求方式
"""

模拟浏览器 构建字典形式

headers = {
    # User-Agent 用户代理 表示浏览器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

请求目录页

link = 'https://www.mkzhan.com/209412/'
```python
# 发送请求
link_response = requests.get(url=link, headers=headers)

获取数据 response.text 获取响应文本数据

link_data = link_response.text
"""
3. 解析数据: 提取我们需要的内容 <章节名字 / 章节ID>
css/xpath 根据标签去提取数据
"""

把获取到 link_data, 转成可解析对象

selector = parsel.Selector(link_data)

提取所有li标签

lis = selector.css('.chapter__list-box li')
for li in reversed(lis):
    # 章节ID
    chapter_id = li.css('a::attr(data-chapterid)').get()
    # 标题
    title = li.css('a::text').getall()[-1].strip()
    new_title = re.sub(r'[\\/:*?"<>|]', '', title)
    print(chapter_id, new_title)

请求url地址

    url = f'https://*****chapter/content/v1/?chapter_id={chapter_id}&comic_id=209412&format=1&quality=1&sign=6ea4c8f31223f71074cf40a3df72ddb2&type=1&uid=64751792'

发送请求

    response = requests.get(url=url, headers=headers)
"""
2. 获取数据: 获取服务器返回响应数据
    <Response [200]> 响应对象
        200 状态码 表示请求成功
    response.json() 获取响应json数据内容

3. 解析数据: 提取我们需要的内容 <图片链接>
    response.json() --> 字典
    需要的数据 --> image对应值
字典取值: 键值对取值 <根据冒号左边的内容[键], 提取冒号右边的内容[值]>
"""

定义num 作为文件名序号

    num = 1
    for index in response.json()['data']['page']:
        # 漫画内容链接
        img_url = index['image']
   """
    4. 保存数据: 获取图片内容, 保存本地文件夹
        - 获取图片内容 <对于图片链接发送请求, 然后获取二进制数据内容>
        response.content 获取响应二进制数据
    """

对于图片链接发送请求, 获取二进制数据 <图片内容>

        img_content = requests.get(url=img_url, headers=headers).content
        # 'img\\' + str(num) + '.jpg' 设置文件路径和文件名格式
        # mode='wb' 保存方式
        # as f 重命名为F
        with open('img\\' + new_title + str(num) + '.jpg', mode='wb') as f:
            # 写入数据
            f.write(img_content)
            # 每次循环加1
            num += 1
        print(img_url)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Django】列表数据Paginatior分页,动态返回页码,显示当前页、总页数、跳转页

问题 1、当返回数据较多,如设置每页展示10条,数据接近200条,返回页码范围1~20,前端每个页码都显示的话,就会出现页码超出当前页面,被遮挡的页码无法操作和显示不美观; 2、列表的所在页码,总分页数,跳转不在动态页面的页数 解决 在使用paginator转化为Page对象后,获…

BI测试(知识总结)

目录 前言 BI测试&#xff1a; 测试策略&#xff1a; 1、测试准备工作&#xff1a; 2、报表测试点 3、测试步骤&#xff08;流程&#xff09; &#x1f381;更多干货 前言 由于之前做过一段时间大数据测试&#xff0c;故整理BI测试知识点以供学习。 BI测试&#xff1a…

2.网洛通讯模型

目录 osi七层参考模型 应用层——应用层序 表示层 会话层 传输层 网络层——ip地址&#xff0c;实现逻辑寻址 数据链路层&#xff08;介质访问层MAC&#xff09;&#xff08;逻辑访问控制层LLC&#xff09;——物理寻址 物理层——处理电信号 TCP/IP模型 TCP和UDP 不…

阿里领导给的Java八股文,包括15条技术线,已助1900人进入大厂!

为了更高的薪水跳槽无可厚非&#xff0c;但你要把握好一个度。 举个例子&#xff0c;如果你每次都只是为了能增长3%的年薪&#xff0c;而频繁地换工作。当HR看到你的简历时&#xff0c;你会被认为是一个对公司没有忠心、对自己的事业没有远见的人 如何准备&#xff1f; 除了…

Git 快速入门

文章目录 前言一、初识Git1.Git概述2. Git的功能3. Git运行图示 二、Git下载安装三、Git 代码托管服务1.常用的 Git 代码托管服务2.使用码云代码托管服务 四、Git 常用命令1.Git 全局设置2.获取Git 仓库3.工作区、暂存区、版本库 概念4.Git 工作区中文件的两种状态5.本地仓库常…

通信算法之170: 4G LTE物理层模块链路仿真

LTE标准协议&#xff0c;部分算法链路仿真记录 1. Crc 卷积/Turbo编码 速率匹配 加扰 调制 OFDM调制 CP 信道模型 2. 同步 OFDM解调 解调 解扰 解速率匹配 turbo译码 Crc 3. 读者2/3代码

远程debug调试

1、背景 测试验证过程中我们肯定都遇到过线上问题本地怎么都无法复现的经历&#xff0c;而这一类问题往往是需要我们通过经验尝试性的修复&#xff0c;过程也比较痛苦且低效&#xff0c;没办法快速定位到问题原因。此时可以尝试使用远程debug将线上部署程序像本地调试一样验证…

【机器学习】支持向量机(上)

支持向量机&#xff08;上&#xff09; 目录 一、导言二、何为支持向量机三、点到平面的距离计算四、构建目标函数&#xff08;支持向量机的基本型推导&#xff09;五、利用 KKT 条件对目标函数进行转换1、拉格朗日乘数法的引入2、KKT 条件的引入3、松弛互补条件的引入4、总结 …

获取R、G、B通道的直方图

clc;%clc的作用就是清屏幕 clear;%clear是删除所有的变量 close all;%close all是将所有打开的图片关掉。imageimread(E:\我的桌面\MATLAB\练习\2.jpg);%绝对路径的 Rimage(:,:,1); Gimage(:,:,2); Bimage(:,:,3); hrimhist(R); hgimhist(G); hbimhist(B); x0:1:255; figure…

只需根据接口文档,就能轻松开发 get 和 post 请求的脚本,你会做吗?

一般的接口文档描述的内容&#xff1a; 开发get请求的脚本&#xff0c;接口文档的描述如下&#xff1a; 在loadrunner里面创建一个空脚本&#xff1a; 在action空白处&#xff0c;点击insert—>step 输入web_custom_request&#xff0c;双击选择该函数&#xff0c;填入如下几…

Android Studio实现内容丰富的安卓外卖平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号122 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.…

缓存更新策略,先更新数据库还是缓存呢?

学了这么多&#xff0c;相信大家对缓存更新的策略都已经有了清晰的认识。最后稍稍总结一下。 缓存更新的策略主要分为三种&#xff1a; Cache aside Cache aside Cache aside也就是旁路缓存&#xff0c;是比较常用的缓存策略。 &#xff08;1&#xff09;读请求常见流程 应…

CVE-2018-12613:本地文件包含

前言&#xff1a; phpMyAdmin是phpMyAdmin团队开发的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库&#xff0c;创建、删除、修改数据库表&#xff0c;执行SQL脚本命令等。 CVE-2018-12613&#xff0c;这是一个在phpMyAdmin4.8.x(4.8.2之前)上发现的…

obs录制功能源码分析

录制按钮 界面文件&#xff1a; 主界面:OBSBasic.ui 中开始录制按钮的objectName 是 recordButton 槽函数&#xff1a; void OBSBasic::on_recordButton_clicked() {//1 输出模式是否被激活if (outputHandler->RecordingActive()) {bool confirm config_get_bool(GetGlo…

【Cache】Rsync远程同步

文章目录 一、rsync 概念二、rysnc 服务器部署1. 环境配置2. rysnc 同步源服务器2.1 安装 rsync2.2 建立 rsyncd.conf 配置文件2.3 创建数据文件&#xff08;账号密码&#xff09;2.4 启动服务2.5 数据配置 3. rysnc 客户端3.1 设置同步方法一方法二 3.2 免交互设置 4. rysnc 认…

17-Linux环境搭建——使用云服务器

目录 1.环境搭建的主要4种方式&#xff1a; 2.使用云服务器 2.1.腾讯云 PS&#xff1a;轻量应用服务器和云服务器的区别 PS&#xff1a;首单特惠 2.2.阿里云 2.3.其他类似 3.使用终端软件连接到 Linux 3.1.什么是终端软件&#xff1f; 3.2.使用 XShell PS&#xff1…

No5.精选前端面试题,享受每天的挑战和学习

文章目录 说一下虚拟dom&#xff0c;结合vue和react白屏问题怎么优化java和javascript的区别Vue3.0和2.0对比&#xff0c;哪些方面更加出色 说一下虚拟dom&#xff0c;结合vue和react 虚拟DOM&#xff08;Virtual DOM&#xff09;是JavaScript框架如Vue和React中的一个重要概念…

CSDN博客运营团队2023年H1总结

一、运营工作的指导思路 CSDN的核心价值之一是帮助开发者/技术人快速的学习成长和解决技术问题。这个核心价值的建立离不开无数开发者的无私贡献&#xff0c;而运营工作的核心就是要保证这个价值链不断放大&#xff1a;让内容贡献者体验更好&#xff0c;付出有回报&#xff0c…

黑盟菜鸟剪辑短视频助手是什么

今天我们来讲一下视频综合处理功能&#xff0c;首先我们来打开软件主界面&#xff0c;通过模块化功能合集视频综合处理进入我们的这个功能。首先我们来看一下功能的布局&#xff0c;左边是导入视频的地方&#xff0c;右边是功能区&#xff0c;这里总共包括 32 种功能&#xff0…

使用随便测测平台-做接口测试

目录 接口数据的来源 导出har文件 导入har文件 转化为用例 提取数据进行替换 如何选择哪些数据需要替换呢&#xff1f; Url Params、Data ​编辑进行替换操作 断言-冒烟 断言-详细 测试报告 结束 接口数据的来源 1、可通过charles工具&#xff0c;录制好接口操作&…