导语:

哈喽,哈喽~当有人给你安利了一部超级好看的漫画时。

你点进去看了一下,这画风,这剧情,代入感太强我现在宣布我就是女主了。

但是看着看着,要vip你又没有,这是什么人间疾苦啊!我的女主光环呢?

正文:

下面小编使用python爬取漫画,此次代码以一个小型的网站来作为练手,其他的和该思路差不多大致相同,仅供参考。

https://m.gufengmh8.com/

打开这个网址后,让我们点击搜索进行相关的漫画搜索。截图为搜索页面,可以看到网址为:

https://m.gufengmh8.com/search/?keywords=斗罗大陆

keywords后面跟的就是要搜索的内容,然后我们获取url的方式就可以是这样。

"https://m.gufengmh8.com/manhua/search/?keywords="+str(input("搜索漫画:"))#input让用户输入,获取输入内容

浏览器按f12进入代码调试,单击下图位置,然后可以看到class为itemBox,所以我们只需要获取到这个页面所有的class为itemBox的div,就可以获取每本漫画的所有信息。

import math
import threading
import time
import os
import requests
from bs4 import BeautifulSoup
from urllib3.connectionpool import xrange#根据url获取对应页面的所有内容,然后返回
def get_document(url):# print(url)try:get = requests.get(url)#打开连接data = get.content#获取内容get.close()#关闭连接except:#抛异常就重试time.sleep(3)#睡眠3秒,给网页反应时间try:再次获取get = requests.get(url)data = get.contentget.close()except:time.sleep(3)get = requests.get(url)data = get.contentget.close()return data#下载漫画
def download_img(html):soup = BeautifulSoup(html)#BeautifulSoup和request搭配使用更佳呦itemBox = soup.find_all('div', attrs={'class': 'itemBox'})#find_all返回的是一个listfor index, item in enumerate(itemBox):#遍历itemBox,index是当前项list的下标,item是内容itemTxt = item.find('div', attrs={'class': 'itemTxt'})#因为只有一个,所以itemBox中只有一个itemTxt所以这次我们用finda = itemTxt.find('a', attrs={'class': 'title'}).text[]print(str(index+1)+'.'+a)# download_img(get_document("https://m.gufengmh8.com/search/?keywords="+str(input("搜索漫画:"))))
download_img(get_document("https://m.gufengmh8.com/search/?keywords=完美世界"))#这个就不解释了吧

现在我们基本实现了搜索功能,这已经算是个简单爬虫了,之后让用户输入书籍序号,然后下载。

def download_img(html):chapter_url_list=[]soup = BeautifulSoup(html)#BeautifulSoup和request搭配使用更佳呦itemBox = soup.find_all('div', attrs={'class': 'itemBox'})#find_all返回的是一个listfor index, item in enumerate(itemBox):#遍历itemBox,index是当前项list的下标,item是内容itemTxt = item.find('div', attrs={'class': 'itemTxt'})#因为只有一个,所以itemBox中只有一个itemTxt所以这次我们用finda = itemTxt.find('a', attrs={'class': 'title'})chapter_url = a['href']chapter_url_list.append(chapter_url)#把所有书的url存起来print(str(index+1)+'.'+a.text)number = int(input('请输入漫画序号'))chapter_html = BeautifulSoup(get_document(chapter_url_list[number-1]))#因为打印的序号和list的索引是相差1的,所以输入的序号减一获取对应书的url,再根据url获取到目录页面ul = chapter_html.find('ul', attrs={'id': 'chapter-list-1'})#获取到ulli_list = ul.find_all('li')#获取其中所有lifor li in li_list:#遍历li_a_href = li.find('a')['href']#注意这里获取到的url是不完整的/manhua/buhuochongwuniangdezhengquefangfa/1000845.html

现在我们随便点入一个章节获取到漫画图片的位置

接着我们获取到了所有的漫画图片src,现在就只需要把他下载下来了,先创建目录。

path = "d:/SanMu/"+book_name+'/'+li.text.replace('\n', '')if not os.path.exists(path):os.makedirs(path)

然后下载,很简单吧!

open(path+'/'+str(i)+'.jpg', 'wb').write(get_document(img_src))#保存到d:/SanMu/书名/章节名/0.jpg

结尾:

好啦文章就分享到这里就结束啦~

大家喜欢的记得点点赞,需要完整的项目源码的可以私信我哟!点击这里也行哦!

用python爬取漫画,代入感太强了相关推荐

  1. 用Python爬取手机壁纸,太简单了吧

    用Python爬取手机壁纸,太简单了吧! 人生苦短,快学Python! 在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的 ...

  2. 用python爬取漫画!

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

  3. python 爬取漫画《黑鹭尸体宅配便》

    想看<黑鹭尸体宅配便>这部漫画,全网找了一圈,资源特别少,手机资源上很少,虽然网页能看,但是想用手机看比较耗费流量.就想把漫画下载下来,能放在手机上看 用requests+re访问漫画网站 ...

  4. python怎么爬取_宅男福利,教你怎么用Python爬取漫画

    抓取漫画的由来也是看了知乎上有人说用爬取漫画,然后自己也玩玩 首页中每个漫画的url是类似这样存储的: K.O.I 偶像之王 然后用lxml通过cssselect(tr>td>a)将能用到 ...

  5. Python爬取漫画之咒术回战

    爬取漫画 一次性加载的网站:使用requests + bs4就足够了 带加载的网站:使用requests + selenium无界面操作 import requests, os, pprint, ti ...

  6. Python 爬取漫画以及JS解析

    漫画屋 - 爬取所有漫画(js解析-只要有就能获取) JS解析网站大体流程(自我感觉一般都是这个流程) 网站踩点 ----- 先去查看这个网站数据加载的一种方式或者说网站加载的流程 接口分析 ---- ...

  7. 用Python爬取手机壁纸,太简单了吧!

    人生苦短,快学Python! 在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的美图? 其中我们需要先利用Python中的 ...

  8. 直播和VR的代入感太强,淘宝也忍不住推出了VR直播

    这是要掏空消费者的荷包啊! 近日,淘宝产品平台总监.淘宝直播负责人陈镭宣布,淘宝将推出VR直播. 据了解,自去年3月推出直播以来,淘宝已经入驻了万名主播,完成了65万场直播,购买转化率达到50%. 陈 ...

  9. python动画篮球大小_产品经理必备打野技能 之 用Python爬取漫画《篮球少年王》...

    前段时间一直看动漫<鸭子的天空>别名篮球少年王,视频更新得比较慢,而且还要vip才能看~ 于是看看有没有漫画可以看,B站漫画上倒是有,要158元(真富贵)解锁才能看,我支持正版,但我喜欢免 ...

最新文章

  1. 华为荣耀8青春版计算机在哪里,华为荣耀8青春版
  2. nginx与mysql传输过程_某互联网企业技术发展史(四)配置nginx和mysql兼容Yii框架,上传网站并调试成功...
  3. python编程输入标准-揭秘python编程技巧
  4. 面试官:我想用Nginx提升系统10倍性能,你有哪些建议?
  5. 如何实现手游app瘦身?
  6. spring4笔记----依赖注入的两种形式
  7. 在Python中手动引发(抛出)异常
  8. mysql配置文件参数详解 my.cnf
  9. ORACLE 随机数 dbms_random
  10. 技术说明的注释有点用,其他的完全是捣乱
  11. 短信api接口免费试用
  12. Python开发3D游戏技术探索
  13. 算术逻辑运算单元ALU的串行和并行加法器
  14. html音乐歌词同步,html歌词同步代码
  15. Python之路【第二十篇】:python项目之旧版抽屉新热榜
  16. 字节跳动面试--二面算法题复盘
  17. ODI之知识模块(KM)
  18. 手机访问网站 点击手机号码直接拨打电话
  19. MapReduce实战之倒排索引案例(多job串联)
  20. 颈椎圣手!上班族必学的PDF旋转技巧

热门文章

  1. 七段数码显示的数字时钟
  2. 关于计算机的英语作文带翻译100字,英语作文10篇100字带翻译
  3. numpy中*,np.multiply和np.dot辨析
  4. 用python 合并 excel多行成一行
  5. css权重【面试题】
  6. 什么蓝牙耳机性价比高?目前最值得入手的蓝牙耳机
  7. 微博登录记录pythonurllib_定向爬虫 - Python模拟新浪微博登录
  8. nginx通用的日志采集工具
  9. No modules name “XXX”究极解决办法,踩了很多坑后亲测可行的解决方案
  10. php 套接字 函数,php fsockopen() 函数