前言

今天给大家介绍的是Python爬取漫画数据,在这里给需要的小伙伴们代码,并且给出一点小心得。

首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本数据爬取的人会很多,所以我们需要考虑更换代理IP和随机更换请求头的方式来对漫画数据进行爬取。

在每次进行爬虫代码的编写之前,我们的第一步也是最重要的一步就是分析我们的网页。

通过分析我们发现在爬取过程中速度比较慢,所以我们还可以通过禁用谷歌浏览器图片、JavaScript等方式提升爬虫爬取速度。

开发工具

Python版本: 3.6

相关模块:

requests模块

re模块

time模块

bs4模块

tqdm模块

contextlib模块

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

文中完整代码及文件,评论留言获取

思路分析

浏览器中打开我们要爬取的页面
按F12进入开发者工具,查看我们想要的漫画数据在哪里
这里我们需要页面数据就可以了

添加代理

漫画下载代码实现

# 下载漫画
for i, url in enumerate(tqdm(chapter_urls)):print(i,url)download_header = {'Referer':url,'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}name = chapter_names[i]# 去掉.while '.' in name:name = name.replace('.', '')chapter_save_dir = os.path.join(save_dir, name)if name not in os.listdir(save_dir):os.mkdir(chapter_save_dir)r = requests.get(url=url)html = BeautifulSoup(r.text, 'lxml')script_info = html.scriptpics = re.findall('\d{13,14}', str(script_info))for j, pic in enumerate(pics):if len(pic) == 13:pics[j] = pic + '0'pics = sorted(pics, key=lambda x: int(x))chapterpic_hou = re.findall('\|(\d{5})\|', str(script_info))[0]chapterpic_qian = re.findall('\|(\d{4})\|', str(script_info))[0]for idx, pic in enumerate(pics):if pic[-1] == '0':url = 'https://images.dmzj.com/img/chapterpic/' + chapterpic_qian + '/' + chapterpic_hou + '/' + pic[:-1] + '.jpg'else:url = 'https://images.dmzj.com/img/chapterpic/' + chapterpic_qian + '/' + chapterpic_hou + '/' + pic + '.jpg'pic_name = '%03d.jpg' % (idx + 1)pic_save_path = os.path.join(chapter_save_dir, pic_name)print(url)response = requests.get(url,headers=download_header)# with closing(requests.get(url, headers=download_header, stream=True)) as response:# chunk_size = 1024# content_size = int(response.headers['content-length'])print(response)if response.status_code == 200:with open(pic_save_path, "wb") as file:# for data in response.iter_content(chunk_size=chunk_size):file.write(response.content)else:print('链接异常')time.sleep(2)

数据保存

结果展示

最后

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

里面有适合小白新手的实战教程给到大家~

快来和小鱼一起成长进步吧!

① 100+多本Python PDF(主流和经典的书籍应该都有了)

② Python标准库(最全中文版)

③ 爬虫项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

Python爬虫实战,requests+tqdm模块,爬取漫画数据(附源码)相关推荐

  1. Python爬虫实战,完整的思路和步骤(附源码)

    前言 小的时候心中总有十万个为什么类似的问题,今天带大家爬取一个问答类的网站. 本堂课使用正则表达式对文本类的数据进行提取,正则表达式是数据提取的通用方法. 环境介绍: python 3.6 pych ...

  2. python爬虫实战——自动下载百度图片(文末附源码)

    用Python制作一个下载图片神器 前言 这个想法是怎么来的? 很简单,就是不想一张一张的下载图片,嫌太慢. 在很久很久以前,我比较喜欢收集各种动漫的壁纸,作为一个漫迷,自然是能收集多少就收集多少.小 ...

  3. Python 爬虫实战,模拟登陆爬取数据

    Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...

  4. Python爬虫实战系列(一)-request爬取网站资源

    Python爬虫实战系列(一)-request爬取网站资源 python爬虫实战系列第一期 文章目录 Python爬虫实战系列(一)-request爬取网站资源 前言 一.request库是什么? 二 ...

  5. python爬虫实战(一)--爬取知乎话题图片

    原文链接python爬虫实战(一)–爬取知乎话题图片 前言 在学习了python基础之后,该尝试用python做一些有趣的事情了–爬虫. 知识准备: 1.python基础知识 2.urllib库使用 ...

  6. bilibili助手C2C服务器,Bilibili (B站)200万用户数据爬取与分析(附源码)

    原标题:Bilibili (B站)200万用户数据爬取与分析(附源码) 数据挖掘入门与实战 公众号: datadw 该爬虫仅供学习使用 B站用户爬虫 B站视频爬虫 B站弹幕下载器 关注并回复公众号da ...

  7. python爬虫实战之百度新闻爬取

    百度新闻信息爬取 目录 百度新闻信息爬取 序言 获取在百度新闻中搜索"阿里巴巴"的网页源代码 编写正则表达式提取新闻信息 数据清洗并打印输出 实战完整代码 序言  通过对百度新闻标 ...

  8. 【Python爬虫实战】使用Selenium爬取QQ音乐歌曲及评论信息

    本文对使用到的技术仅做简单的介绍,若想了解更多,请前往相应的官网网站进行学习. 本文适合对爬虫相关知识接触不多的新手,主要是普及Selenium如何做爬虫,大佬请跳过. 1.Selenium简单介绍 ...

  9. 利用python爬虫(案例6+part14)--如何爬取科研数据

    学习笔记 文章目录 Ajax动态加载网站数据抓取 动态加载的类型 那么该如何抓取数据? 如何得到JSON文件的地址? 观察JSON文件URL地址的查询参数 JSON格式数据转换成python字典 如何 ...

  10. 爬虫实战——绝对通俗易懂,爬取房产数据

    爬取房产数据 爬虫介绍 实战目标 1.获取url 2.利用BeautifulSoup获取html的索引 3.查找所需数据索引 4.正则表达式获取所需要的信息 完整代码 爬虫介绍 简单介绍一下爬虫,百度 ...

最新文章

  1. Mysql视图权限设置的踩坑经历
  2. Spring源码学习笔记1
  3. GridView导出到Excel和开源图表工具
  4. hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)
  5. iOS开发学无止境 - 这样好用的ReactiveCocoa,根本停不下来
  6. Windows和VMware虚拟机相互间无法复制的解决方案
  7. Bailian2810 完美立方【暴力】(POJ NOI0201-1812)
  8. HTTP 长连接 使用场景
  9. 用Excel公式,批量生成工作时间段时间点(打酱油专用)
  10. 计算机病毒是指源程序还是特殊小程序,2015年9月计算机一级考试Msoffice上机模拟题(五)...
  11. 极简桌面 android 2.3,低端 Android 备机的轻量级启动器:极简光速桌面
  12. 【论文】Deep Pyramidal Residual Networks(译)
  13. web前端CSS---关于text-align设置为justify的相关内容
  14. Win7 如何修改hosts文件
  15. python最难的地方_全国 41611 个景点,程序员用 Python 告诉你哪些地方最值得一游!...
  16. 100部好看的校园喜剧片(可练习英文)+美国校园青春励志电影+25部口语练习电影+20部最浪漫电影
  17. 复利计算机软件,复利计算器5.0加强版
  18. Android APP专项电耗监控工具使用说明
  19. buuctf ciscn_2019_sw_5
  20. 解决WES 7 中Composite Bus找不到驱动的bug

热门文章

  1. 2. Packet crafting tools (封包工具 6个)
  2. 计算机各外设的作用,外设在计算机中的作用及传输方式.doc
  3. STM32F103C8T6寄存器简单应用(流水灯)
  4. python温度转换_python第一课:温度转换
  5. 最强大的四款windows办公软件,建议低调收藏!
  6. 打开 android studio 时遇到does not point to a valid
  7. 原生开发什么意思_APP原生开发和混合开发的区别你了解多少
  8. 一个简单的C语言计算器(当作复习C语言基础的一个小程序)
  9. c语言十进制展开式形式,十六进制与运算 十六进制与十进制相互转化的公式
  10. 2022-2028全球高纯硅溶胶行业调研及趋势分析报告