回老家去了,显得无聊上网看个小漫画,不是那种你们想的~

结果真的是移不动联不通信不过了,不是一格信号就是无信号,4G变2G了,搞心态!

没办法,只能连夜跑去网吧编程,用Python直接把整个网站的漫画都给爬下来传手机上了。

哎,这回我就不慌了~

还好我爬的是正经的漫画,不然后面一堆人,在网吧敲代码,真是有点特立独行了。

我回来之后,把这个做了个视频版教程,大家有需要的可以直接在文末拿,我直接把视频链接发出来了~

好了,简单的介绍下我们今天的内容叭~

首先咱们用的是这些环境

Python3.6

pycharm

 

涉及到的知识点

requests

parsel pip install 模块名

re

os

 

大概流程

一、单章节爬取

找到受害者 https://www.kuimh.com/chapter/332265-3351141

向受害者发送请求

获取数据:获取源代码

解析网页源代码: 提取漫画章节名, 每一页图片所在地址

保存数据: 图片数据

二、整本漫画爬取

请求 https://www.kuimh.com/book/mh10575

获取数据:获取源代码

解析网页源代码: 获取每一话所在地址

循环爬取,保存数据

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

 

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

点我看视频,密码qwer

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

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。