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爬虫实战之爬取京东商城实例教程

    前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...

  2. python云盘搭建教程_超简单!基于Python搭建个人“云盘”,目前最好用的个人云盘...

    超简单!基于Python搭建个人"云盘",目前最好用的个人云盘 1. 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码 ...

  3. python批量下载文件教程_超简单超详细python小文件、大文件、批量下载教程

    按照不同的情况,python下载文件可以分为三种: 小文件下载 大文件下载 批量下载 python 小文件下载 流程:使用request.get请求链接,返回的内容放置到变量r中,然后将r写入到你想放 ...

  4. python购物信息整合教程_python实现简单购物商城

    本文为大家分享了购物商城小程序,供大家参考,具体内容如下 软件版本:python3.x 功能:实现简单购物商城 1.允许用户选择购买多少件 2.允许多用户登录,下一次登录后,继续按上次的余额继续购买 ...

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

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

  6. 威联通装linux百度网盘,威联通NAS使用百度云Docker教程,超简单!

    原标题:威联通NAS使用百度云Docker教程,超简单! 作为国内一家独大的公有云,百度云是大家现在常用的云存储了.相信很多人的资源都有一部分存在上面,不过由于公有云的性质在那里,在对于数据安全抱有怀 ...

  7. 用Python 做成语接龙,超简单,有语音,过年和孩子玩

    用Python 做成语接龙,超简单,有语音,过年和孩子玩 成语 需要准备的资料: idiom.json文件 python3.6 安装pyttsx3 pandas numpy 在 https://git ...

  8. 【前端实例代码】Html5+css3+JavaScript创建在线播放架子鼓电子鼓演奏网页效果!前端开发网页设计基础入门教程!超简单~

    b站视频演示效果: [前端实例代码]Html5+css3+JavaScript创建在线播放架子鼓电子鼓演奏网页效果!前端开发网页设计基础入门教程!超简单~ 效果图: 完整代码: <!DOCTYP ...

  9. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

最新文章

  1. 从请求管道深入剖析HttpModule的实现机制,有图有真相
  2. qt combox 向上弹出_一睹芳容!人类首次拍到活的公羊角乌贼 手臂和触须向上飞速穿过水柱...
  3. NLP之TM:基于gensim库调用20newsgr学习doc-topic分布并保存为train-svm-lda.txt、test-svm-lda.txt
  4. C# 窗体最小化的托盘/系统通知区域(转)
  5. 别薅了别薅了!!!再薅就真的被薅秃了!!
  6. ssh时,密码输入框(密码输入提示)很晚才出现的解决方法
  7. 算法图解:如何找出栈中的最小值?
  8. 服务状态已停止_虾米音乐今日宣布关停,新平台”音螺“相关商标已注册
  9. Java 定制工具库 —— Print(import static)
  10. 超轻量级Web安全漏洞扫描工具Netsparker使用教程介绍
  11. 计算机主板提示ahci,映泰主板设置硬盘模式AHCI或IDE的教程
  12. 计算机网络ip地址分类6,c类ip地址划分6个子网
  13. 关于已移除sd卡,手机不认卡的原因和解决办法(转)
  14. 《AutoCAD .NET开发指南2012版》翻译整理已完成,欢迎大家下载!
  15. 解决联想小新air14装虚拟机镜像时蓝屏问题
  16. SP服务商Java短信平台的软件模型和实现(吴宏杰,赵雷,杨季文,苏州大学计算机科学和技术学院)...
  17. 电话号码分身 java,每日一题C++版(电话号码分身)
  18. r5 5600u和r5 4600u参数对比哪个好?
  19. IP数据库的比较和选择
  20. android 4.4 源码编译,Android 4.4源码编译过程

热门文章

  1. Linode跨节点迁移:从Tokyo到Fremont
  2. Bailian-1的个数
  3. OpenJ_Bailian - 1088:滑雪
  4. 【RL从入门到放弃】【二 表格型RL】
  5. The Python Crop Simulation Environment 系列学习笔记(二)
  6. 图论——最短路径之渡河问题
  7. 累次积分怎么计算_什么是累次积分
  8. 请问苹果x是如何建文件夹_苹果x怎么创建文件夹相关阅读-苹果x怎么创建文件夹文章阅读-123文学网...
  9. oracle 12c手册chm,oracle11g中文手册chm
  10. 编译程序和解释程序的区别