1. 我们经常会在网上搜索井下载图片,然而一张一张地下载就太麻烦了,本案例
  2. 就是通过网络爬虫技术, 一次性下载该网站所有的图片并保存
  1. 网站图片下载并保存
  2. 将指定网站的 .jpg .png 格式的图片全部下载井保存在自己本地新建的 images 文件夹中

  1. import requests,os
  2. from bs4 import BeautifulSoup
  3. from urllib.request import urlopen
  4.  
  5. url = 'http://www.tooopen.com/img/87.aspx'
  6.  
  7. html = requests.get(url)
  8. html.encoding="utf-8"
  9.  
  10. sp = BeautifulSoup(html.text, 'html.parser')
  1. # 建立images目录保存图片
  2. images_dir="E:\\images\\"
  3. if not os.path.exists(images_dir):
  4. os.mkdir(images_dir)
  1. # 取得所有 <a> 和 <img> 标签
  2. all_links=sp.find_all(['a','img'])
  3.  
  4. for link in all_links:
  5. # 读取 src 和 href 属性内容
  6. src=link.get('src')
  7. href = link.get('href')
  8. attrs=[src,src]
  9. for attr in attrs:
  10. # 读取 .jpg 和 .png 檔
  11. if(attr != None)and(('.jpg' in attr)or('.png' in attr)):
  12. # 设置图片文件完整路径
  13. full_path = attr
  14. filename = full_path.split('/')[-1] # 取得图片名
  15. ext = filename.split('.')[-1] #取得扩展名
  16. filename = filename.split('.')[-2] #取得主文件名
  17. if('jpg' in ext):
  18. filename = filename + '.jpg'
  19. else:
  20. filename = filename + '.png'
  21. print(attr)
  22. # 保存图片
  23. try:
  24. image = urlopen(full_path)
  25. f = open(os.path.join(images_dir,filename),'wb')
  26. f.write(image.read())
  27. f.close()
  28. except:
  29. print("{} 无法读取!".format(filename))
  30. print("当前页图片下载完了")
  1. /static/image/logo.png
  2. logo.png 无法读取!
  3. /static/image/logo.png
  4. logo.png 无法读取!
  5. https://www.tooopen.com/static/ad/1500X50-viw.png
  6. https://www.tooopen.com/static/ad/1500X50-viw.png
  7. https://www.tooopen.com/static/ad/1500X50-too.png
  8. https://www.tooopen.com/static/ad/1500X50-too.png
  9. http://img08.tooopen.com/20190807/tooopen_wk_131356135671827.jpg
  10. tooopen_wk_131356135671827.jpg 无法读取!
  11. http://img08.tooopen.com/20190807/tooopen_wk_131356135671827.jpg
  12. tooopen_wk_131356135671827.jpg 无法读取!
  13. http://img08.tooopen.com/20190807/tooopen_wk_131356135689691.jpg
  14. tooopen_wk_131356135689691.jpg 无法读取!
  15. http://img08.tooopen.com/20190807/tooopen_wk_131356135689691.jpg
  16. tooopen_wk_131356135689691.jpg 无法读取!
  17. http://img08.tooopen.com/20190807/tooopen_wk_131355135547978.jpg
  18. tooopen_wk_131355135547978.jpg 无法读取!
  19. http://img08.tooopen.com/20190807/tooopen_wk_131355135547978.jpg
  20. tooopen_wk_131355135547978.jpg 无法读取!
  21. http://img08.tooopen.com/20191204/tooopen_sl_135027502737700.jpg
  22. tooopen_sl_135027502737700.jpg 无法读取!
  23. http://img08.tooopen.com/20191204/tooopen_sl_135027502737700.jpg
  24. tooopen_sl_135027502737700.jpg 无法读取!
  25. http://img08.tooopen.com/20191122/tooopen_sl_102334233455130.jpg
  26. tooopen_sl_102334233455130.jpg 无法读取!
  27. http://img08.tooopen.com/20191122/tooopen_sl_102334233455130.jpg
  28. tooopen_sl_102334233455130.jpg 无法读取!
  29. http://img08.tooopen.com/20191121/tooopen_sl_095522552259405.jpg
  30. tooopen_sl_095522552259405.jpg 无法读取!
  31. http://img08.tooopen.com/20191121/tooopen_sl_095522552259405.jpg
  32. tooopen_sl_095522552259405.jpg 无法读取!
  33. http://img08.tooopen.com/20191115/tooopen_sl_093830383053575.jpg
  34. tooopen_sl_093830383053575.jpg 无法读取!
  35. http://img08.tooopen.com/20191115/tooopen_sl_093830383053575.jpg
  36. tooopen_sl_093830383053575.jpg 无法读取!
  37. http://img08.tooopen.com/20191115/tooopen_sl_093534353474034.jpg
  38. tooopen_sl_093534353474034.jpg 无法读取!
  39. http://img08.tooopen.com/20191115/tooopen_sl_093534353474034.jpg
  40. tooopen_sl_093534353474034.jpg 无法读取!
  41. http://img08.tooopen.com/20191205/tooopen_sl_134926492663201.jpg
  42. tooopen_sl_134926492663201.jpg 无法读取!
  43. http://img08.tooopen.com/20191205/tooopen_sl_134926492663201.jpg
  44. tooopen_sl_134926492663201.jpg 无法读取!
  45. http://img08.tooopen.com/20191122/tooopen_sl_102328232897349.jpg
  46. tooopen_sl_102328232897349.jpg 无法读取!
  47. http://img08.tooopen.com/20191122/tooopen_sl_102328232897349.jpg
  48. tooopen_sl_102328232897349.jpg 无法读取!
  49. http://img08.tooopen.com/20191121/tooopen_sl_162428242838278.jpg
  50. tooopen_sl_162428242838278.jpg 无法读取!
  51. http://img08.tooopen.com/20191121/tooopen_sl_162428242838278.jpg
  52. tooopen_sl_162428242838278.jpg 无法读取!
  53. http://img08.tooopen.com/20191115/tooopen_sl_093827382762634.jpg
  54. tooopen_sl_093827382762634.jpg 无法读取!
  55. http://img08.tooopen.com/20191115/tooopen_sl_093827382762634.jpg
  56. tooopen_sl_093827382762634.jpg 无法读取!
  57. http://img08.tooopen.com/20191115/tooopen_sl_093529352941470.jpg
  58. tooopen_sl_093529352941470.jpg 无法读取!
  59. http://img08.tooopen.com/20191115/tooopen_sl_093529352941470.jpg
  60. tooopen_sl_093529352941470.jpg 无法读取!
  61. http://img08.tooopen.com/20191006/tooopen_sl_09550855847444.jpg
  62. tooopen_sl_09550855847444.jpg 无法读取!
  63. http://img08.tooopen.com/20191006/tooopen_sl_09550855847444.jpg
  64. tooopen_sl_09550855847444.jpg 无法读取!
  65. http://img08.tooopen.com/20191119/tooopen_sl_115948594813304.jpg
  66. tooopen_sl_115948594813304.jpg 无法读取!
  67. http://img08.tooopen.com/20191119/tooopen_sl_115948594813304.jpg
  68. tooopen_sl_115948594813304.jpg 无法读取!
  69. http://img08.tooopen.com/20191115/tooopen_sl_16270727715545.jpg
  70. tooopen_sl_16270727715545.jpg 无法读取!
  71. http://img08.tooopen.com/20191115/tooopen_sl_16270727715545.jpg
  72. tooopen_sl_16270727715545.jpg 无法读取!
  73. http://img08.tooopen.com/20191115/tooopen_sl_093822382227436.jpg
  74. tooopen_sl_093822382227436.jpg 无法读取!
  75. http://img08.tooopen.com/20191115/tooopen_sl_093822382227436.jpg
  76. tooopen_sl_093822382227436.jpg 无法读取!
  77. http://img08.tooopen.com/20191115/tooopen_sl_092538253863445.jpg
  78. tooopen_sl_092538253863445.jpg 无法读取!
  79. http://img08.tooopen.com/20191115/tooopen_sl_092538253863445.jpg
  80. tooopen_sl_092538253863445.jpg 无法读取!
  81. http://img08.tooopen.com/20190924/tooopen_sl_095323532347706.jpg
  82. tooopen_sl_095323532347706.jpg 无法读取!
  83. http://img08.tooopen.com/20190924/tooopen_sl_095323532347706.jpg
  84. tooopen_sl_095323532347706.jpg 无法读取!
  85. http://img08.tooopen.com/20191121/tooopen_sl_101744174437980.jpg
  86. tooopen_sl_101744174437980.jpg 无法读取!
  87. http://img08.tooopen.com/20191121/tooopen_sl_101744174437980.jpg
  88. tooopen_sl_101744174437980.jpg 无法读取!
  89. http://img08.tooopen.com/20191115/tooopen_sl_094151415155508.jpg
  90. tooopen_sl_094151415155508.jpg 无法读取!
  91. http://img08.tooopen.com/20191115/tooopen_sl_094151415155508.jpg
  92. tooopen_sl_094151415155508.jpg 无法读取!
  93. http://img08.tooopen.com/20191115/tooopen_sl_093819381985689.jpg
  94. tooopen_sl_093819381985689.jpg 无法读取!
  95. http://img08.tooopen.com/20191115/tooopen_sl_093819381985689.jpg
  96. tooopen_sl_093819381985689.jpg 无法读取!
  97. http://img08.tooopen.com/20191115/tooopen_sl_092534253435074.jpg
  98. tooopen_sl_092534253435074.jpg 无法读取!
  99. http://img08.tooopen.com/20191115/tooopen_sl_092534253435074.jpg
  100. tooopen_sl_092534253435074.jpg 无法读取!
  101. https://www.tooopen.com/static/image/tooopen-2w.png
  102. https://www.tooopen.com/static/image/tooopen-2w.png
  103. 当前页图片下载完了

吴裕雄--天生自然python学习笔记:编写网络爬虫代码获取指定网站的图片的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:python爬虫PM2.5 实时监测显示器

    PM2.5 对人体的健康影响很大,所以空气中的 PM2.5 实时信息受到越来越多的关注. Python 的 Pandas 套件不但可以自动读取网页中的表格 数据 , 还可对数据进行修改.排序等处理,也 ...

  2. 吴裕雄--天生自然PYTHON学习笔记:python自动登录网站

    打开 www. 5 l eta . com 网站,如果己经通过某用户名进行了登录,那么先退出登录 . 登录该网站 的步骤一般如下 : ( 1 )单击右上角的“登录”按钮. ( 2 )先输入账号. ( ...

  3. 吴裕雄--天生自然python学习笔记:Python MongoDB

    MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON). PyMongo Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 P ...

  4. 吴裕雄--天生自然python学习笔记:Python3 OS 文件/目录方法

    os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...

  5. 吴裕雄--天生自然python学习笔记:python 用pyInstaller模块打包文件

    要想在没有安装 Python 集成环境的电脑上运行开发的 Python 程序,必须把 Python 文件打包成 .exe 格式的可执行 文件. Python 的打包工作 PyInstaller 提供了 ...

  6. 吴裕雄--天生自然python学习笔记:python 文件批量查找

    在多个文本文件中查找 我们首先来学习文本文件的查找字符 . 我们通过 os.walk 扩大查找范围, 查找指定目录和子目录下的文件. 应用程序总览 读取 当 前目录及子目录下的所有 PY 和 txt ...

  7. 吴裕雄--天生自然python学习笔记:python 用 Tesseract 识别验证码

    用 Selenium 包实现网页自动化操作的案例中,发现很多网页都因 需输入图形验证码而导致实验无法进行 . 解决的办法就是对验证码进行识别 . 识 别的方法之 一 是通过图形处理包将验证码的大部分背 ...

  8. 吴裕雄--天生自然python学习笔记:pandas模块强大的数据处理套件

    用 Python 进行数据分析处理,其中最炫酷的就属 Pa ndas 套件了 . 比如,如果我 们通过 Requests 及 Beautifulsoup 来抓取网页中的表格数据 , 需要进行较复 杂的 ...

  9. 吴裕雄--天生自然python学习笔记:Beautiful Soup 4.2.0模块

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...

随机推荐

  1. HDU 2444 The Accomodation of Students【二分图最大匹配问题】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2444 题意:首先判断所有的人可不可以分成互不认识的两部分.如果可以分成 ,则求两部分最多相互认识的对数. ...

  2. .net core编译时设置不自动生成“netcoreapp3.0”目录

    不知道出于什么目的,.netcore项目默认编译时生成的文件要多加一层"netcoreapp3.0"或"netcoreapp2.1",这应该不符合大多数开发者的 ...

  3. 为什么Web前端变的越来越复杂,变得更加难学了

    前端发展了也有些年头了,曾记得很多年前,聊起前端,都觉得是很简单,那个时候都没有前端工程师这个职位.可现在,前端已经逆袭了,已经不是原来的样子了,各种技术层出不穷,显的越来越高深莫测了.前端真的变得那 ...

  4. Unity中的事件监听

    Unity3D的uGUI系统的将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值.如下图所示: 先以PointerClick为例.这个是用于某点点击事件.其他事件都可 ...

  5. c指针(2)

    #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct LNode { cha ...

  6. BBS注册功能

    BBS注册功能 一.后端 1.组件校验数据 """ @author RansySun @create 2019-11-03-11:35 """ ...

  7. springboot访问请求404问题

    新手在刚接触springboot的时候,可能会出现访问请求404的情况,代码没问题,但就是404. 疑问:在十分确定代码没问题的时候,可以看下自己的包是不是出问题了? 原因:SpringBoot 注解 ...

  8. Linux分区挂载

    Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了.分区在Linux和其他设备一样都只是一个文件.要使用一个分区必须把它加载到文件系统中.这可能难于理解,继续往下看 ...

  9. CodeForces 263E Rhombus

    洛谷题目页面传送门 & CodeForces题目页面传送门 给定一个$n$行$m$列的矩阵,第$i$行$j$列为$a_{i,j}$,以及一个常数$s\in\left[1,\left\lceil ...

  10. 2017年3月16工作日志【mysql更改字段参数、java8 map()调用方法示例】

    修改某个表的字段类型及指定为空或非空 >alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空],变更字段名称及属性 >alter table 表名称 ...