我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何利用python3爬虫爬取漫画岛

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何利用python3爬虫爬取漫画岛

本篇内容主要讲解“如何利用python3爬虫爬取漫画岛”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何利用python3爬虫爬取漫画岛”吧!

    最近学了一点点python爬虫的知识,面向百度编程爬了一本小说之后感觉有点不满足,于是突发奇想尝试爬一本漫画下来看看。

一、效果展示

  首先是我们想要爬取的漫画网页:http://www.manhuadao.cn/

   网页截图:

   如何利用python3爬虫爬取漫画岛

其次是爬取下来的效果:

如何利用python3爬虫爬取漫画岛

每一回的文件夹里面是这样的: (因为网站图片的问题...所以就成了这个鬼样子)

如何利用python3爬虫爬取漫画岛

二、分析原理

准备:需要vscode或者其他能够编译运行python的软件,推荐python版本3.X ,否则有可能出现编译问题。

       下载所需模块:win+R进入命令行,输入pipinstall <模块名>即可下载。例如:

pip install beautifulsoup4

原理: 模拟浏览器点击->打开漫画网页链接->获取网页源码->定位每一章漫画的链接->模拟点击->获取图片页面源码->定位图片链接->下载图片

三、实际操作(代码附在最后)

  1、引入模块 (这里不再详述)

     如何利用python3爬虫爬取漫画岛

  2、模拟浏览器访问网页  

如何利用python3爬虫爬取漫画岛

    (1)、这里我们打开漫画的目录页,如下: url = ”http://www.manhuadao.cn/Home/ComicDetail?id=58ddb07827a7c1392c234628“ ,此链接就是目录页链接。

如何利用python3爬虫爬取漫画岛

    (2)、按F12打开此网页的源码(谷歌浏览器),选中上方NetWork,Ctrl+R刷新。

如何利用python3爬虫爬取漫画岛

    (3)、找到加载网页的源码文件,点击Headers,如下图: StatusCode表示网页返回的代码,值为200时表示访问成功。

      如何利用python3爬虫爬取漫画岛

    (4)、headers中的参数为下面红框User-Agent。

response = requests.get(url=url, headers=headers)  # 模拟访问网页print(response)  # 此处应输出   <Response [200]>print(response.text)   # 输出网页源码

     两个输出分别输出:

   如何利用python3爬虫爬取漫画岛 输出返回200表示访问成功。

   如何利用python3爬虫爬取漫画岛(节选)

    (5)、将html代码存入 data 中,xpath定位每一章链接。点击上方Element,点击:

      如何利用python3爬虫爬取漫画岛

      将鼠标移至目录处:

      如何利用python3爬虫爬取漫画岛

      右边代码区域出现每一章链接:

如何利用python3爬虫爬取漫画岛

data = etree.HTML(response.text)# tp = data.xpath('//ul[@class="read-chapter"]/li/a[@class="active"]/@href')tp = data.xpath('//*[@class="yesReader"]/@href')zhang_list = tp   # tp为链接列表

  输出zhang_list,结果如下:

如何利用python3爬虫爬取漫画岛

    (6)、获取图片链接(获取方式同上一步)

    点进第一章,同上一步,寻找到图片链接:

如何利用python3爬虫爬取漫画岛

i=1for next_zhang in zhang_list:    # 在章节列表中循环    i=i+1    j=0    hui_url = r_url+next_zhang    name1 = "第"+str(i)+"回"    file = 'C:/Users/wangyueke/Desktop/'+keyword+'/{}/'.format(name1)   # 创建文件夹    if not os.path.exists(file):        os.makedirs(file)        print('创建文件夹:', file)    response = requests.get(url=hui_url, headers=headers)    # 模拟访问每一章链接    data = etree.HTML(response.text)    # tp = data.xpath('//div[@class="no-pic"]//img/@class="lazy" data-src')    tp = data.xpath('//div[@class="main-content"]//ul//li//div[@class="no-pic"]//img/@class="lazy" data-src')   # 定位    ye_list = tp

    (7)、下载图片

for k in ye_list:    # 在每一章的图片链接列表中循环    download_url = tp[j]    print(download_url)    j=j+1    file_name="第"+str(j)+"页"    response = requests.get(url=download_url)    # 模拟访问图片链接    with open(file+file_name+".jpg","wb") as f:        f.write(response.content)

五、代码

'''用于爬取非人哉漫画目标网址:http://www.manhuadao.cn/开始时间:2019/8/14 20:01:26完成时间:2019/8/15 11:04:56作者:kong_gu'''import requestsimport jsonimport timeimport osfrom lxml import etreefrom bs4 import BeautifulSoupdef main():    keyword="非人哉"    file = 'E:/{}'.format(keyword)    if not os.path.exists(file):        os.mkdir(file)        print('创建文件夹:',file)    r_url="http://www.manhuadao.cn/"    url = "http://www.manhuadao.cn/Home/ComicDetail?id=58ddb07827a7c1392c234628"    headers = {  # 模拟浏览器访问网页        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) \\Chrome/75.0.3770.142 Safari/537.36'}    response = requests.get(url=url, headers=headers)    # print(response.text)   # 输出网页源码    data = etree.HTML(response.text)    # tp = data.xpath('//ul[@class="read-chapter"]/li/a[@class="active"]/@href')    tp = data.xpath('//*[@class="yesReader"]/@href')    zhang_list = tp    i=1    for next_zhang in zhang_list:        i=i+1        j=0        hui_url = r_url+next_zhang        name1 = "第"+str(i)+"回"        file = 'C:/Users/wangyueke/Desktop/'+keyword+'/{}/'.format(name1)    # 这里需要自己设置路径        if not os.path.exists(file):            os.makedirs(file)            print('创建文件夹:', file)        response = requests.get(url=hui_url, headers=headers)        data = etree.HTML(response.text)        # tp = data.xpath('//div[@class="no-pic"]//img/@class="lazy" data-src')        tp = data.xpath('//div[@class="main-content"]//ul//li//div[@class="no-pic"]//img/@class="lazy" data-src')        ye_list = tp        for k in ye_list:            download_url = tp[j]            print(download_url)            j=j+1            file_name="第"+str(j)+"页"            response = requests.get(url=download_url)            with open(file+file_name+".jpg","wb") as f:                f.write(response.content)if __name__ == '__main__':    main()

到此,相信大家对“如何利用python3爬虫爬取漫画岛”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何利用python3爬虫爬取漫画岛

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何利用python3爬虫爬取漫画岛

本篇内容主要讲解“如何利用python3爬虫爬取漫画岛”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何利用python3爬虫爬取漫画岛”吧!    最近学了一点点python爬虫的知识,面向百
2023-06-20

如何利用Python爬虫爬取网站音乐

小编给大家分享一下如何利用Python爬虫爬取网站音乐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体实现1.引入发送网络请求的第三方库import reque
2023-06-15

如何用Python爬虫爬取美剧网站

如何用Python爬虫爬取美剧网站,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。爬虫爬取美剧网站!【前言】一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打
2023-06-02

如何使用Python爬虫爬取网站图片

这篇文章主要介绍了如何使用Python爬虫爬取网站图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。此次python3主要用requests,解析图片网址主要用beautif
2023-06-22

如何使用Java爬虫批量爬取图片

这篇文章主要介绍了如何使用Java爬虫批量爬取图片,对于爬虫的入门来说,图片相对来说是比较容易获取的,因为大部分图片都不是敏感数据,所以不会遇到什么反爬措施,对于入门爬虫来说是比较合适的,需要的朋友可以参考下
2023-05-15

如何使用python爬虫爬取大学排名信息

这篇文章将为大家详细讲解有关如何使用python爬虫爬取大学排名信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。2. 这次爬取的网址请搜索“阿凡题”(纯技术讨论)“阿凡题”(纯技术讨论)3. 在该网址选
2023-06-02

如何利用aiohttp制作异步爬虫

这篇文章主要介绍“如何利用aiohttp制作异步爬虫”,在日常操作中,相信很多人在如何利用aiohttp制作异步爬虫问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用aiohttp制作异步爬虫”的疑惑有所
2023-06-17

如何用Python爬虫抓取代理IP

本篇文章为大家展示了如何用Python爬虫抓取代理IP,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。不知道大家在访问网站的时候有没有遇到过这样的状况就是被访问的网站会给出一个提示,提示的显示是“访问
2023-06-02

如何使用python爬虫抓取弹幕

这篇文章主要讲解了“如何使用python爬虫抓取弹幕”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用python爬虫抓取弹幕”吧!一、爬虫是什么?百度百科这样说:自动获取网页内容的程序
2023-06-29

python中如何利用selenium进行浏览器爬虫

这篇文章给大家介绍python中如何利用selenium进行浏览器爬虫,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。相信大家刚开始在做爬虫的时候,是不是requests和sound这两个库来使用,这样确实有助于我们学习
2023-06-02

如何使用python网络爬虫基于selenium爬取斗鱼直播信息

这篇文章给大家分享的是有关如何使用python网络爬虫基于selenium爬取斗鱼直播信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、本文使用的第三方包和工具python 3.8 谷歌浏览器seleniu
2023-06-29

如何利用C++实现一个简单的网页爬虫程序?

如何利用C++实现一个简单的网页爬虫程序?简介:互联网是一个信息的宝库,而通过网页爬虫程序可以轻松地从互联网上获取大量有用的数据。本文将介绍如何使用C++编写一个简单的网页爬虫程序,以及一些常用的技巧和注意事项。一、准备工作安装C++编译器
如何利用C++实现一个简单的网页爬虫程序?
2023-11-04

如何使用Python3制作一个带GUI界面的小说爬虫工具

这篇文章主要介绍如何使用Python3制作一个带GUI界面的小说爬虫工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图最近帮朋友写个简单爬虫,顺便整理了下,搞成了一个带GUI界面的小说爬虫工具,用来从笔趣阁爬取
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录