网不好,看个漫画加载半天?教你用Python批量下载网站所有漫画(附源码和视频教程)

本文详细介绍了如何使用Python3.6和相关库(如requests, parsel, re, os)进行漫画《妖神记》的爬取。首先从指定URL获取动漫章节链接和名称,然后通过循环遍历每个章节,提取图片链接并下载保存到本地文件夹。整个过程包括单章节和整本漫画的爬取策略,适合初学者学习网络爬虫实战。
摘要由CSDN通过智能技术生成

首先咱们用的是这些环境

Python3.6 
pycharm

涉及到的知识点

requests
parsel   pip install 模块名
re
os

大概流程

一、单章节爬取

  1. 找到受害者 https://www.kuimh.com/chapter/332265-3351141
  2. 向受害者发送请求
  3. 获取数据:获取源代码
  4. 解析网页源代码: 提取漫画章节名, 每一页图片所在地址
  5. 保存数据: 图片数据

二、整本漫画爬取

  1. 请求 https://www.kuimh.com/book/mh10575
  2. 获取数据:获取源代码
  3. 解析网页源代码: 获取每一话所在地址
  4. 循环爬取,保存数据
import os
import re
import parsel
import requests

1.正确url地址(静态\动态)

url = "https://www.kuimh.com/book/mh10575"

获取动漫章节链接和章节名

response = requests.get(url=url)
selector = parsel.Selector(response.text)

伪类选择器nth-child(第几个标签)
::text 获取文本内容
::attr 获取标签属性值

title_list = selector.css('#detail-list-select li a:nth-child(2)::text').getall()
url_list = selector.css('#detail-list-select li a:nth-child(2)::attr(href)').getall()
if not os.path.exists('./妖神记/'):
    os.makedirs('./妖神记/')

f:可以传入参数

复制代码

for title, url in zip(title_list, url_list):
print(f'--------------------------正在爬取{title}-------------------------')
index = 1
target_url = f"https://www.kuimh.com{url}"
resp = requests.get(target_url)
selector = parsel.Selector(resp.text)
sub_url_list = selector.css('.comicpage div img::attr(src)').getall()[:3]
sub_list = selector.css('.comicpage div img::attr(data-echo)').getall()
for i in sub_list:
    sub_url_list.append(i)

复制代码

r:防止字符串转义

复制代码

title = re.sub(r'[\/:*?"<>|.]', "", title)
    if not os.path.exists('./妖神记/' + title):
        os.makedirs('./妖神记/' + title)
    for url_ in sub_url_list:
        image = requests.get(url_).content
        with open('./妖神记/' + title + '/'+'第'+str(index)+'页.jpg', mode='wb') as f:
            f.write(image)
        print('第', str(index), '页,爬取成功')
        index += 1
    print(title, '爬取成功!!!')

看到最后的小伙伴都有福利,给大家送一个VIP音乐下载器,聪明的小伙伴肯定能找到在哪领的(视频里面)~

在这里插入图片描述

作者:静默虚空

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值