先上个爬取的结果图

最后的结果为每部漫画按章节保存

运行环境

ide vs2019

python3.7

chrome、chromedriver

chrome和chromedriver的版本需要相互对应

先上代码,代码非常简短,包含空行也才50行,多亏了python强大的库

import os

import time

import requests

from selenium import webdriver

from lxml import etree

def getchapterurl(url):

headers = {

"user-agent": "mozilla/5.0 (macintosh; intel mac os x 10_13_4) applewebkit/537.36 (khtml, like gecko) chrome/66.0.3359.139 safari/537.36"

}

part_url = "http://ac.qq.com"

res = requests.get(url, headers=headers)

html=res.content.decode()

el = etree.html(html)

li_list = el.xpath('//*[@id="chapter"]/div[2]/ol[1]/li')

for li in li_list:

for p in li.xpath("./p"):

for span in p.xpath("./span[@class='works-chapter-item']"):

item = {}

list_title = span.xpath("./a/@title")[0].replace(' ', '').split(':')

if list_title[1].startswith(('第', '序')):

getchapterfile(part_url + span.xpath("./a/@href")[0], list_title[0],list_title[1])

def getchapterfile(url,path1,path2):

#path = os.path.join(path)

#漫画名称目录

path=os.path.join(path1)

if not os.path.exists(path):

os.mkdir(path)

#章节目录

path=path+'\\'+path2

if not os.path.exists(path):

os.mkdir(path)

chrome=webdriver.chrome()

#"http://ac.qq.com/comicview/index/id/505435/cid/2"

chrome.get(url)

time.sleep(4)

imgs = chrome.find_elements_by_xpath("//div[@id='mainview']/ul[@id='comiccontain']//img")

for i in range(0, len(imgs)):

js="document.getelementbyid('mainview').scrolltop="+str((i) * 1280)

chrome.execute_script(js)

time.sleep(3)

print(imgs[i].get_attribute("src"))

with open(path+'\\'+str(i)+'.png', 'wb') as f:

f.write(requests.get(imgs[i].get_attribute("src")).content)

chrome.close()

print('下载完成')

if __name__ == '__main__':

getchapterurl('http://ac.qq.com/comic/comicinfo/id/505435')

简单解释

输入一个漫画的url即可爬取该漫画所有的章节,由于是模拟用户爬取的,所以速度方面有点慢,我试了下爬取银魂前70章,用了1个半小时,代码中的sleep可以适当简短点已加快爬取的速度

付费的漫画是没有办法爬取的

谈一下过程中遇到的坑

腾讯的漫画网站打开章节时没有把所有图片的url都加载出来,所以我在这里用的方式是使用selenium来模拟用户操作,每次打开页面以后使用js操作滚动条下拉

最后再贴下代码库,其实贴出的代码已经是所有的代码了

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

python爬取收费漫画_Python爬虫,爬取腾讯漫画实战相关推荐

  1. python爬取收费素材_Python爬虫练习:爬取素材网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 在工作中的电子文案.ppt,生活中的新闻.广告,都离不开大量的素材,而素材 ...

  2. python爬取学校新闻_python爬虫爬取新闻的简单实现

    我们通常是使用爬虫爬取网站信息,其实网络爬虫是一种应用于搜索引擎的程序.使用python爬虫可以将一个网站的所有内容与链接进行阅读.例如我们每日都要获取新闻信息,利用python爬虫就可以帮助我们爬取 ...

  3. python爬取bilibili弹幕_Python爬虫爬取Bilibili弹幕过程解析

    先来思考一个问题,B站一个视频的弹幕最多会有多少? 比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的. 也就是说,有一个视频地址为https://www.bilibi ...

  4. python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  5. python爬取微博文本_Python爬虫爬取新浪微博内容示例【基于代理IP】

    本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.weibo.cn ...

  6. python爬取数据步骤_Python爬虫爬取数据的步骤

    爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多 ...

  7. python爬虫爬取股票软件数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储(转载)...

    完整代码 实际上,整个事情完成了两个相对独立的过程:1.爬虫获取网页股票数据并保存到本地文件:2.将本地文件数据储存到MySQL数据库.并没有直接的考虑把从网页上抓取到的数据实时(或者通过一个临时文件 ...

  8. python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  9. python爬虫抓取百度图片_Python爬虫抓取百度的高清摄影图片

    成果预览: 源代码: import requests import re url = 'https://image.baidu.com/search/index' headers = { 'User- ...

  10. python爬取付费漫画_Python爬虫---爬取腾讯动漫全站漫画

    标签,我猜测每部漫画的地址信息就存储在这些标签里面 随便打开一个<li>标签,点击里面包裹的链接地址会跳转到一个新的网页,这个网页正是我想要找的漫画地址,可以见得我的猜测是正确的,等到实际 ...

最新文章

  1. (转)Objective-C中的instancetype和id区别
  2. AI 图像傅里叶变换
  3. artTemplate使用
  4. artificial intelligence courses
  5. String类常用方法记录
  6. ORACLE登录错误的解决方法
  7. python解常微分方程龙格库_求解常微分方程组初值问题的龙格库塔法分析及其C代码...
  8. Halcon教程六:为什么要二值化
  9. 【腾讯云】企业认证题库200题
  10. 一脸懵逼搭建Zookeeper分布式集群
  11. 博纳影业明日上市:于冬陷入与江疏影绯闻 被曝斥资千万买珠宝
  12. 5G核心网技术基础自学系列 | 5G无线网
  13. 如何导出一篇英文文献的全部参考文献
  14. 全球5G设备商最新排名
  15. OllyDbg下载与安装
  16. java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.vick.myapp/com.vick.mya
  17. 给孩子们的美术史(1)-艺术的起源
  18. 2012年3月19日
  19. 基于javaweb的校园班级同学通讯录管理系统(java+ssm+html+jsp+mysql)
  20. 二、浏览器广告屏蔽插件_Adblock Plus

热门文章

  1. Packet Tracer 思科模拟器入门教程 之七 利用三层交换机实现VLAN间路由
  2. Packet Tracer 思科模拟器入门教程 之十三 路由器OSPF动态路由配置
  3. Android Studio编写一个手写字体识别程序
  4. python代码审查规则_python代码检查
  5. Linux开发学习笔记(二)
  6. android 分享给好友,手机将安卓软件分享给好友的方法
  7. 我的发明20220723
  8. 志愿者报名图片大小调整
  9. OpenCV——Python:像素调整、图片裁剪、形状与文字设置3
  10. 录屏——制作gif图片——压缩图片大小