VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 网不好,看个漫画加载半天?教你用Python批量下载网站所有漫画(附源码)

首先咱们用的是这些环境

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, '爬取成功!!!')
复制代码

 

看不懂的话,建议直接看视频教程~

 

在这里插入图片描述

作者:静默虚空

处:https://www.cnblogs.com/hahaa/p/15181887.html



相关教程