近几年,云计算、大数据和人工智能加上5G的到来,感觉还是要顺应时代的发展学习一下python来防防身。

兴趣是学习最好的老师,也是最大的动力,基于本人有时候会猎奇一下漫画,但是看到一半网络不给力的时候,看得特别不爽。

所以我就以这个为切入点去学习。

那么废话不多说

import urllib.request
import re
import requests
import os#https://www.mkzhan.com/209893/
source_html = (input('输入https://www.mkzhan.com漫画目录网址:'))
source_html = source_html.replace(' ','')
#考虑到我看挺多漫画的,逐个在代码里改比较麻烦,所以后来用input代替
#这里的source_html也用来补全data-chapterid(530643)用到
print('source_html的数据:',source_html)
print('source_html数据类型:',type(source_html))
#Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
print ('========================')#分割线html = source_html
#把source_html的数据赋值给变量html
print ('html = source_html的数据:',html)
print('html数据类型:',type(html))
print ('========================')#分割线html = urllib.request.urlopen(html)
#得到的数据是<http.client.HTTPResponse object at 0x000001908C95A3C8> ,http.客户端.http响应对象位于0x000001908C95A3C8?HTTPResposne类型的对象? 这个没搞懂
print ('html = urllib.request.urlopen(html)的数据:',html)
print('urllib.request.urlopen(html).read()后的数据类型:',type(html))
print ('========================')#分割线html = html.read()
#response.read()就可以得到返回的网页内容
print ('html = html.read()的数据:',html)
print('html.read()后的数据类型:',type(html))
print ('========================')#分割线html =  html.decode('utf-8')
#前面得到的数据类型是bytes,需要在转为utf-8
#Bytes才是计算机里真正的数据类型,也是网络数据传输中唯一的数据格式
#Bytes的数据与字符串类型数据的转换就是编码与解码的转换,utf-8是编解码时指定的格式。
print('转格式后的html的数据类型:',type(html))#<a class="j-chapter-link" data-hreflink="/209893/530643.html" data-chapterid="530643"> 一击男出张版 </a>reg = r'data-chapterid="(.*?)">(.*?)</a>'  #创建正则表达式,来匹配到章节名称与对应的data-chapterid(530643)
#简单来说章节 :一击男出张版 对应的连接是 https://www.mkzhan.com/209893/ + 530643reg = re.compile(reg,re.S) #用compile函数生成一个正则表达式(Pattern)对象
#正则表达式学习查考链接:https://www.runoob.com/python3/python3-reg-expressions.htmlurls = re.findall(reg,html) #使用findall()在字符串中找到正则表达式所匹配的所有子串
#这里是返回所有章节及对应的data-chapterid,然后生成一个列表urls.reverse()#因为生成的列表是倒序的,所以这里要把列表反向排序#下面开始加快速度for url in urls:#用for循环,使得变量url 遍历列表urlsprint (url)#打印元组url遍历到列表urls的数据print (type(url))href_url = url[0] #把元组中的值赋值给href_urlhref_url = source_html + href_url #把source_html 与 href_url 拼接起来 得到完整的urlprint (href_url)print (type(href_url))title_url = url[1]#把元组中的值赋值给title_urltitle_url = title_url.replace('\n','')title_url = title_url.replace(' ','')title_url = title_url.replace('<iclass="j-update-iconicon-has-updatehide"data-chapterid="831946"></i>', '')#把匹配到的不需要的数据进行删除print (title_url)print (type(title_url))chapter_html = urllib.request.urlopen(href_url).read()chapter_html = chapter_html.decode('utf-8')chapter_reg = r'<img class="lazy-read" data-src="(.*?)" src='chapter_reg = re.compile(chapter_reg)pic_urls = re.findall(chapter_reg, chapter_html)#这里得到的是图片url的列表for pic_url in pic_urls:print (pic_url)pic = requests.get(pic_url)pic_num = pic_urls.index(pic_url)file = title_urlif (os.path.exists(file)):print('nothing')else:os.mkdir(file)print('mkdir file')#用章节名称创建文件夹,并检测文件夹是否存在,若不存在则创建n1 = title_url + '/' + str(pic_num)#创建图片存放路径with open('{}.jpg'.format(n1), 'wb+') as f:for chunk in pic.iter_content(1024):f.write(chunk)#这里是保存图片# print(html)# print(urls)

运行的时候,到达自己想要的效果的时候,自己好感动,突然想分享出来。

当自己想分享出来的时候,想到自己作为一个小白去查资料学习的过程曲折道路,就想尽可能写给一些初学者也能看的懂,回去查了一下各个代码的含义。结果发现自己仅仅只是初步会用而已,离理解还差得很有远,好惭愧啊。

作为小白的理解,可以会误导初学者,有大佬发现什么问题,请用力喷我即可。

python 爬漫画 小白学习过程相关推荐

  1. python爬漫画(1)—— 如何爬取简单静态网页的图片

    之前写了一个python爬虫爬漫画视频的小程序,在此以一个系列的方式对其中用到的技术进行一个记录 系列一.简单的静态网页爬取 这里取的是kuku漫画网,http://comic.kukudm.com ...

  2. python 爬取整部漫画(简单的图片爬取)

    用python爬取整部漫画 文章目录 用python爬取整部漫画 契机 收集信息  目录页   内容页 开始爬取   目录页   内容页 完整代码 契机 最近突然少女心爆棚,追上了一本甜甜的恋爱日漫& ...

  3. 完全小白篇-使用Python爬取网络小说

    完全小白篇-使用Python爬取网络小说 一.找一个你要爬取的小说 二.分析网页 网页的展示方式 需要用到的库文件 三.向网站发送请求 四.正则提取 五.跳转的逻辑 六.后续处理 七.保存信息进入do ...

  4. 完全小白篇-用python爬取豆瓣电影影评

    完全小白篇-用python爬取豆瓣影评 打开豆瓣电影 随机电影的所有影评网页 跳转逻辑 分析影评内容获取方法 逐一正则提取影评 针对标签格式过于多样的处理 针对提出请求的频率的限制 存储方式(本次sq ...

  5. 用python爬取《龙珠·超次元乱战》漫画并转化成pdf阅读

    目录 用python爬取<龙珠·超次元乱战>漫画并转化成pdf阅读 需求描述 问题分析 源码获取 源码查看 图片下载 pdf生成 注意事项 运行 结果 用python爬取<龙珠·超次 ...

  6. python爬取BT之家特定频道前5页电影信息(小白操作)

    python爬取BT之家特定频道前5页电影信息(小白操作) 想要爬的网页如下,希望得到BT之家恐怖频道的电影信息,并存档xls 代码如下 import requests,openpyxl wb=ope ...

  7. 用python爬取漫画!

    作者: 锋小刀 微信搜索[Python与Excel之交]关注我的公众号查看更多内容 Hi~ 大家好! 今日教大家用Python爬取某网站的全部漫画,让你想看什么漫画就看什么漫画!本文代码量有的多,请耐 ...

  8. 用python爬取漫画,代入感太强了

    导语: 哈喽,哈喽~当有人给你安利了一部超级好看的漫画时. 你点进去看了一下,这画风,这剧情,代入感太强我现在宣布我就是女主了. 但是看着看着,要vip你又没有,这是什么人间疾苦啊!我的女主光环呢? ...

  9. Python爬取斗破苍穹漫画

    用Python爬取斗破苍穹漫画.刚好我自己也练练手, 1 分析漫画网站,http://www.manhuatai.com/ 2 分析网页发现,图片的URL很有规则 3 https://mhpic.ju ...

最新文章

  1. 中国大气污染影响韩国?生态环境部这样反驳
  2. 20165235实验四 Android程序设计
  3. IIR+全通滤波器实现相位平衡_matlab仿真
  4. 【密码学】一万字带您走进密码学的世界(上)
  5. 2021数模美赛论文提交具体规则和注意事项汇总!
  6. 51nod 1448 二染色问题 (逆向考虑)
  7. 来自女朋友的灵魂拷问!| 今日最佳
  8. [vue] v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能?
  9. 再流弊的技术,也抵不过一次事故:兼谈技术管理
  10. 【安全】This base cannot be created with PLA.
  11. SQL Server 2008 数据库快照
  12. Android创建项目java报错,创建Android工程时报错:Errors running builder 'Android resource manager' on project '项目...
  13. 接口可以继承多个接口总结
  14. javascript延时setTimeOut与定时setInterval函数区别
  15. php打开EXCEL过慢,打开excel很慢,编辑某个工作表很卡
  16. 今日总结-20220304
  17. java斗地主发牌_java斗地主发牌程序
  18. niagara框架中串口的打开方式
  19. idea操作git时 合并分支+解决冲突
  20. c语言编程序按下列公式计算e的值,编写程序,利用公式 ,求出e的近似值

热门文章

  1. 广东未来科技:书写立体显示事业传奇的行业独角兽
  2. LYZ-Ice Skates
  3. oracle 与plc通信,cim系统(com系统和plc的通讯)
  4. MobileNetV2: Inverted Residuals and Linear Bottlenecks论文解读
  5. 阿波罗apollo使用方法+领英使用
  6. Java WebSocket编程与网页简易聊天室
  7. matlab晶体能带,matlab平面波展开法的二维光子晶体能带研究+程序
  8. java.sql.SQLException: Incorrect string value: ‘\xE4\xB8\x8A\xE6\xB5\xB7‘ for column ‘xxx‘
  9. 西瓜视频运营策略分析:借助平台优势实现内容升级
  10. 亚马逊个人创业这条路行的通吗?