import requests,os,bs4
url='http://xkcd.com'
os.makedirs('xkcd')
while not url.endswith('#'):print('正在下载%s'%url)res=requests.get(url)res.raise_for_status()soup=bs4.BeautifulSoup(res.text,"html.parser")#这里与书本有区别,需要加"html.parser"comicelem=soup.select('#comic img')if comicelem==[]:print('没找到图片...')else:comicurl='http:'+comicelem[0].get('src')#这里与书本有区别,网址改了需要加前缀才行print('正在下载 %s'%(comicurl))res=requests.get(comicurl)res.raise_for_status()imgfile=open(os.path.join('xkcd',os.path.basename(comicurl)),'wb')#文件命名,comicurl自带图片文件后缀for chunk in res.iter_content(10000):#文件存储imgfile.write(chunk)imgfile.close()prelink=soup.select('a[rel="prev"]')[0]url='http://xkcd.com'+prelink.get('href')
print('done')

实例:下载所有XKCD漫画相关推荐

  1. python练习项目八——下载所有XKCD 漫画

    项目:下载所有XKCD 漫画 背景 博客和其他经常更新的网站通常有一个首页,其中有最新的帖子,以及一个"前一篇"按钮,将你带到以前的帖子.然后那个帖子也有一个"前一篇&q ...

  2. 【下载所有XKCD漫画】 详细解析

    目录 1,实现目的 2,准备工作 2.1,确保所需模块已安装 2.2,脚本思路 3,全部代码 4,执行结果 1,实现目的 XKCD 是一个流行的极客漫画网站.首页 http://xkcd.com/有一 ...

  3. 【Python】下载所有 XKCD 漫画

    博客和其他经常更新的网站通常有一个首页,其中有最新的帖子,以及一个"前 一篇"按钮,将你带到以前的帖子.然后那个帖子也有一个"前一篇"按钮,以此 类推.这创建了 ...

  4. python-web-下载所有xkcd漫画

    下载所有xkcd漫画 # downloads every single xkcd comicimport requests,os,bs4 url='http://xkcd.com' # start u ...

  5. Python批量下载XKCD漫画只需20行命令

    XKCD是一个流行的极客漫画网站,其官网首页有一个 Prev 按钮,让用户导航到前面的漫画.如果你希望复制该网站的内容以在离线的时候阅读,那么可以手动导航至每个页面并保存.但手动下载每张漫画要花较长的 ...

  6. 从XKCD网站下载自动所有漫画图片---python实现

    经常跟新的网站通常有一个首页,其中有最新的帖子,以及一个"前一篇"(或上一页)按钮,用来跳转到以前的帖子.然后那个帖子也有一个"前一篇"的按钮,以此内推.这创建 ...

  7. xkcd目录_使用随机XKCD漫画作为您的桌面墙纸

    xkcd目录 If you are a big fan of the popular xkcd webcomic you might have wondered how to use the comi ...

  8. vici 开源asp.net mvc支持asp.net2.0II6.0下部署 实例下载地址

    vici 官方asp.net mvc 实例下载地址 http://viciproject.com/wiki/Projects/Mvc/Download 个人正在学习中 下载后可以运行 如下载后,要立马 ...

  9. Python项目实战:下载腾讯漫画的脚本及源码【女朋友在也不担心我花钱购买漫画了】

    目录 工具: 命令行帮助 GUI预览效果 全部源码: 下载源码: 代码仅供学习交流使用 下载腾讯漫画的脚本.空参运行进入交互式模式,支持的参数可以加-h或--help参数查看. 工具: python3 ...

最新文章

  1. 学习 TTreeView [15] - 连接数据库 (作为给 丁永其 和 DELPHI万岁 两位朋友的回复)...
  2. 皮一皮:选第一个选项的人是咋想的?
  3. day17(JDBC入门jdbcUtils工具介绍)
  4. Java中Class.forName和 ClassLoader.loadClass()区别
  5. golang 排序_堆 堆排序 优先队列 图文详解(Golang实现)
  6. Linux下网络访问Telnet、SSH全攻略
  7. CF888E Maximum Subsequence (Meet in the middle,贪心)
  8. 字节跳动架构师讲解Java开发!dockerstop命令
  9. Underfull hbox (badness 10000) in paragraph at lines 83--86
  10. Flash制作空战游戏
  11. 读《About Face 4 交互设计精髓》21
  12. 2018java面试(1)- 自我介绍和项目介绍
  13. vscode插件版本的选择与安装
  14. 有道词典java下载电脑版下载不了_有道词典电脑版
  15. 软件系统设计-1-软件设计原则
  16. prometheus如何评估告警策略以及如何推送告警消息到alertmanager?
  17. 努力和家境哪个更重要
  18. 浅析Android地理定位(GPS)
  19. 经济基础知识(中级)【5】
  20. 【Android开发】Android概述

热门文章

  1. 均值定理最大值最小值公式_超急关于不等式最大值最小值的求法
  2. 强化学习Reinforcement Learning概念理解篇(一)
  3. CentOS 8: No URLs in mirrorlist error
  4. html 水印插件,jquery图片水印插件
  5. numpy 图片水印去除
  6. 安装scikit-learn问题
  7. 欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少
  8. 互联网公司的中台到底是什么
  9. MySql-STDEV、STDEVP、VAR、VARP
  10. Greenplum删除segment节点