1、首先导入相关库

importrequestsimportbs4importthreading #用于多线程爬虫,爬取速度快,可以完成多页爬取import os

2、使用bs4获取html中的内容

bs = bs4.BeautifulSoup(requests.get(r"http://www.umei.cc/bizhitupian/diannaobizhi/1.htm").text)

到这一步我们就已经拿到了该页面的HTML了,发现输出的HTML有点乱码,这时我们可以改良一下我们的代码

importbs4importrequestsimportos

req= requests.get(r"http://www.umei.cc/bizhitupian/diannaobizhi/1.htm")

req.encoding="utf-8"bs=bs4.BeautifulSoup(req.text)

这样可以解决爬取出来的HTML乱码的问题

3、拿到HTML后就进行匹配我们所需要的图片标签

obj = bs.find_all("a",{"class":{"TypeBigPics"}}) #a代表的是标签 class是标签中所对应的class TypeBigPics为标签中class中对应的值,根据class中的值找出对应图片的标签

这时就拿到了图片所对应的所有的标签 find_all()取去出所有匹配的对象,find()则是取出一条

4、接着取出标签里面的所有img标签

imgObj=[] #用于存储img对象for s inobj:

imgObj.append(s.find("img")) #把取出的img对象存入imgObj数组中

5、接着获取img标签中src中的值

srcObj=[] #用于存储图片src对象for o inimgObj:

srcObj.append(o.get("src"))

这时我们就得到了网页上所有图片的文件路径,下一步就可以进行下载这些图片了

6、下载图片

for img insrcObj:

with open("D:\Images\"+os.path.basename(img),'wb') as f:

f.write(requests.get(img).content)print(os.path.basename(img)+"保存成功")

srcObj为上面所拿到的图片地址,D:\Images\为本地保存目录 注意:要用双斜杠 os.path.basename(img)为图片原文件名 也可替换成自己设置文件名 到这里简单的爬虫就已经结束了

7、全部代码如下

importbs4importrequestsimportos

req= requests.get(r"http://www.umei.cc/bizhitupian/diannaobizhi/1.htm")

req.encoding="utf-8"bs=bs4.BeautifulSoup(req.text)

obj= bs.find_all("a",{"class":{"TypeBigPics"}})

objHtml=[]

objImg=[]for s inobj:

objHtml.append(s.find("img"))for o inobjHtml:

objImg.append(o.get("src"))for img inobjImg:

with open("D:\pics22223\"+os.path.basename(img),'wb') as f:

f.write(requests.get(img).content)print(os.path.basename(img)+"保存成功");

8、使用多线程爬取此站所有的图片

这里就直接上源码了

importbs4importrequestsimportos

import threadingdefojue(i):

bs= bs4.BeautifulSoup(requests.get(r"http://www.umei.cc/bizhitupian/diannaobizhi/"+i+".htm").text)

obj= bs.find_all("a",{"class":{"TypeBigPics"}})

objHtml=[]

ImgObj=[]for f inobj:

objHtml.append(f.get("href"))for z inobjHtml:

htmlText=bs4.BeautifulSoup(requests.get(z).text)

Img= htmlText.find_all("img")for c inImg:

ImgObj.append(c.get("src"))for img inImgObj:

with open("D:\pics22223\"+os.path.basename(img),'wb') as f:

f.write(requests.get(img).content)print(os.path.basename(img)+"保存成功")for i in range(627): #range()从0开始取到627

threading.Thread(target=ojue,args=(i+1,)).start() #target 参数是对应的函数名称

python爬取图片-Python超简单的爬取网站中图片相关推荐

  1. python爬网站图片教程_Python超简单的爬取网站中图片

    1.首先导入相关库 importrequestsimportbs4importthreading #用于多线程爬虫,爬取速度快,可以完成多页爬取import os 2.使用bs4获取html中的内容 ...

  2. python淘宝爬虫_简单的抓取淘宝图片的Python爬虫

    写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...

  3. python爬取网站的图片

    python爬取网站的图片 本次爬取图片所需要用到的库:Requests库,BeautifulSoup库,正则表达式,os库. 思路:先爬一张图片,再爬一个网站的图片 先爬一张图片: 首先要得到这张图 ...

  4. python爬取网站源代码+图片

    python爬取网站源代码+图片 需求分析 基础知识 正则表达式 python网络请求 文件读写 实现 基本思路 具体实现 结果 总结 需求分析 大部分有志青年都想建立属于自己的个人网站,从零开始设计 ...

  5. Python爬虫实战之爬取网站全部图片(一)

    Python爬虫实战之爬取网站全部图片(二) Python爬虫实战之通过ajax获得图片地址实现全站图片下载(三) 一.获得图片地址 和 图片名称 1.进入网址之后 按F12  打开开发人员工具点击e ...

  6. python爬虫抓收费图片_简单的抓取淘宝图片的Python爬虫

    写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...

  7. java 爬取图片_使用Java多线程爬取网站图片

    使用Java爬取网站的图片并保存至本地 使用maven导入依赖org.jsoup jsoup 1.11.2 实现代码:import org.jsoup.HttpStatusException; imp ...

  8. Python3爬取网页中图片(2021-01-04 14:06:02),附上完整代码

    Python爬取网页中图片,附上完整代码 文章目录 Python爬取网页中图片,附上完整代码 概述 完整代码 概述 批量爬取数据,请遵循robots协议及相关网站协议及说明. 本代码仅供有需要爬取网页 ...

  9. 在线电影推荐网 Python+Django+Mysql 协同过滤推荐算法在电影网站中的运用 基于用户、物品的协同过滤推荐算法 开发在线电影推荐系统 电影网站推荐系统 人工智能、大数据、机器学习开发

    在线电影推荐网 Python+Django+Mysql 协同过滤推荐算法在电影网站中的运用 基于用户.物品的协同过滤推荐算法 开发在线电影推荐系统 电影网站推荐系统 人工智能.大数据.机器学习开发 M ...

最新文章

  1. Linux0.11进程切换和TSS结构
  2. 空服务器安装linux,debian服务器linux服务器web建站搭建linux服务器之Debian安装
  3. 服务器相关命令整理[不断更新ing]
  4. Back-Training: 用于问题生成和段落检索的全新领域自适应方法
  5. 服务器TIME_WAIT和CLOSE_WAIT分析和解决办法
  6. 3、plt.figure()和Axes类
  7. CSS实现文字描边效果
  8. MATLAB实验总结定积分,matlab实验报告--定积分的近似计算 -
  9. STM32cubeMX I2S DMA双缓冲配置
  10. YOLOV3论文详解
  11. 【LeetCode】一年中的第几天
  12. 设计模式【5】-- 原型模式
  13. JavaScript—有关如何实现全选/全不选、检查是否选中了复选框。
  14. Get a Model! Model Hijacking Attack Against Machine Learning Models
  15. JAVA incept_java 过滤器(Filter)与springMVC 拦截器(interceptor)的实现案例
  16. 大华java面试经验_大华面试(Java 基础)
  17. 不断创新--才有好软件
  18. drupal7分类权限控制方法
  19. 向大家介绍我的新书:《基于股票大数据分析的Python入门实战》
  20. 种树问题(Java)

热门文章

  1. 乐观锁和悲观锁,可重入锁和不可重入锁(1)
  2. lucene 范围过滤
  3. 布隆过滤器(Bloom Filter)详解——基于多hash的概率查找思想
  4. windows 安装 reviewboard
  5. python 字符串填充0
  6. 记一次CTF实验吧的代码审计
  7. 第二阶段个人总结11
  8. 实现 对象在内存中的引用一致性 之第一步
  9. 再读《精通css》04:盒模型和空白边叠加
  10. Beta 冲刺 (3/7)