吴裕雄--天生自然python学习笔记:编写网络爬虫代码获取指定网站的图片
我们经常会在网上搜索井下载图片,然而一张一张地下载就太麻烦了,本案例
就是通过网络爬虫技术, 一次性下载该网站所有的图片并保存 。
网站图片下载并保存
将指定网站的 .jpg 和 .png 格式的图片全部下载井保存在自己本地新建的 images 文件夹中 。


import requests,os
from bs4 import BeautifulSoup
from urllib.request import urlopen url = 'http://www.tooopen.com/img/87.aspx' html = requests.get(url)
html.encoding="utf-8" sp = BeautifulSoup(html.text, 'html.parser')
# 建立images目录保存图片
images_dir="E:\\images\\"
if not os.path.exists(images_dir):
os.mkdir(images_dir)
# 取得所有 <a> 和 <img> 标签
all_links=sp.find_all(['a','img']) for link in all_links:
# 读取 src 和 href 属性内容
src=link.get('src')
href = link.get('href')
attrs=[src,src]
for attr in attrs:
# 读取 .jpg 和 .png 檔
if(attr != None)and(('.jpg' in attr)or('.png' in attr)):
# 设置图片文件完整路径
full_path = attr
filename = full_path.split('/')[-1] # 取得图片名
ext = filename.split('.')[-1] #取得扩展名
filename = filename.split('.')[-2] #取得主文件名
if('jpg' in ext):
filename = filename + '.jpg'
else:
filename = filename + '.png'
print(attr)
# 保存图片
try:
image = urlopen(full_path)
f = open(os.path.join(images_dir,filename),'wb')
f.write(image.read())
f.close()
except:
print("{} 无法读取!".format(filename))
print("当前页图片下载完了")
/static/image/logo.png
logo.png 无法读取!
/static/image/logo.png
logo.png 无法读取!
https://www.tooopen.com/static/ad/1500X50-viw.png
https://www.tooopen.com/static/ad/1500X50-viw.png
https://www.tooopen.com/static/ad/1500X50-too.png
https://www.tooopen.com/static/ad/1500X50-too.png
http://img08.tooopen.com/20190807/tooopen_wk_131356135671827.jpg
tooopen_wk_131356135671827.jpg 无法读取!
http://img08.tooopen.com/20190807/tooopen_wk_131356135671827.jpg
tooopen_wk_131356135671827.jpg 无法读取!
http://img08.tooopen.com/20190807/tooopen_wk_131356135689691.jpg
tooopen_wk_131356135689691.jpg 无法读取!
http://img08.tooopen.com/20190807/tooopen_wk_131356135689691.jpg
tooopen_wk_131356135689691.jpg 无法读取!
http://img08.tooopen.com/20190807/tooopen_wk_131355135547978.jpg
tooopen_wk_131355135547978.jpg 无法读取!
http://img08.tooopen.com/20190807/tooopen_wk_131355135547978.jpg
tooopen_wk_131355135547978.jpg 无法读取!
http://img08.tooopen.com/20191204/tooopen_sl_135027502737700.jpg
tooopen_sl_135027502737700.jpg 无法读取!
http://img08.tooopen.com/20191204/tooopen_sl_135027502737700.jpg
tooopen_sl_135027502737700.jpg 无法读取!
http://img08.tooopen.com/20191122/tooopen_sl_102334233455130.jpg
tooopen_sl_102334233455130.jpg 无法读取!
http://img08.tooopen.com/20191122/tooopen_sl_102334233455130.jpg
tooopen_sl_102334233455130.jpg 无法读取!
http://img08.tooopen.com/20191121/tooopen_sl_095522552259405.jpg
tooopen_sl_095522552259405.jpg 无法读取!
http://img08.tooopen.com/20191121/tooopen_sl_095522552259405.jpg
tooopen_sl_095522552259405.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093830383053575.jpg
tooopen_sl_093830383053575.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093830383053575.jpg
tooopen_sl_093830383053575.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093534353474034.jpg
tooopen_sl_093534353474034.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093534353474034.jpg
tooopen_sl_093534353474034.jpg 无法读取!
http://img08.tooopen.com/20191205/tooopen_sl_134926492663201.jpg
tooopen_sl_134926492663201.jpg 无法读取!
http://img08.tooopen.com/20191205/tooopen_sl_134926492663201.jpg
tooopen_sl_134926492663201.jpg 无法读取!
http://img08.tooopen.com/20191122/tooopen_sl_102328232897349.jpg
tooopen_sl_102328232897349.jpg 无法读取!
http://img08.tooopen.com/20191122/tooopen_sl_102328232897349.jpg
tooopen_sl_102328232897349.jpg 无法读取!
http://img08.tooopen.com/20191121/tooopen_sl_162428242838278.jpg
tooopen_sl_162428242838278.jpg 无法读取!
http://img08.tooopen.com/20191121/tooopen_sl_162428242838278.jpg
tooopen_sl_162428242838278.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093827382762634.jpg
tooopen_sl_093827382762634.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093827382762634.jpg
tooopen_sl_093827382762634.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093529352941470.jpg
tooopen_sl_093529352941470.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093529352941470.jpg
tooopen_sl_093529352941470.jpg 无法读取!
http://img08.tooopen.com/20191006/tooopen_sl_09550855847444.jpg
tooopen_sl_09550855847444.jpg 无法读取!
http://img08.tooopen.com/20191006/tooopen_sl_09550855847444.jpg
tooopen_sl_09550855847444.jpg 无法读取!
http://img08.tooopen.com/20191119/tooopen_sl_115948594813304.jpg
tooopen_sl_115948594813304.jpg 无法读取!
http://img08.tooopen.com/20191119/tooopen_sl_115948594813304.jpg
tooopen_sl_115948594813304.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_16270727715545.jpg
tooopen_sl_16270727715545.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_16270727715545.jpg
tooopen_sl_16270727715545.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093822382227436.jpg
tooopen_sl_093822382227436.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093822382227436.jpg
tooopen_sl_093822382227436.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_092538253863445.jpg
tooopen_sl_092538253863445.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_092538253863445.jpg
tooopen_sl_092538253863445.jpg 无法读取!
http://img08.tooopen.com/20190924/tooopen_sl_095323532347706.jpg
tooopen_sl_095323532347706.jpg 无法读取!
http://img08.tooopen.com/20190924/tooopen_sl_095323532347706.jpg
tooopen_sl_095323532347706.jpg 无法读取!
http://img08.tooopen.com/20191121/tooopen_sl_101744174437980.jpg
tooopen_sl_101744174437980.jpg 无法读取!
http://img08.tooopen.com/20191121/tooopen_sl_101744174437980.jpg
tooopen_sl_101744174437980.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_094151415155508.jpg
tooopen_sl_094151415155508.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_094151415155508.jpg
tooopen_sl_094151415155508.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093819381985689.jpg
tooopen_sl_093819381985689.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_093819381985689.jpg
tooopen_sl_093819381985689.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_092534253435074.jpg
tooopen_sl_092534253435074.jpg 无法读取!
http://img08.tooopen.com/20191115/tooopen_sl_092534253435074.jpg
tooopen_sl_092534253435074.jpg 无法读取!
https://www.tooopen.com/static/image/tooopen-2w.png
https://www.tooopen.com/static/image/tooopen-2w.png
当前页图片下载完了

吴裕雄--天生自然python学习笔记:编写网络爬虫代码获取指定网站的图片的更多相关文章
- 吴裕雄--天生自然python学习笔记:python爬虫PM2.5 实时监测显示器
PM2.5 对人体的健康影响很大,所以空气中的 PM2.5 实时信息受到越来越多的关注. Python 的 Pandas 套件不但可以自动读取网页中的表格 数据 , 还可对数据进行修改.排序等处理,也 ...
- 吴裕雄--天生自然PYTHON学习笔记:python自动登录网站
打开 www. 5 l eta . com 网站,如果己经通过某用户名进行了登录,那么先退出登录 . 登录该网站 的步骤一般如下 : ( 1 )单击右上角的“登录”按钮. ( 2 )先输入账号. ( ...
- 吴裕雄--天生自然python学习笔记:Python MongoDB
MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON). PyMongo Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 P ...
- 吴裕雄--天生自然python学习笔记:Python3 OS 文件/目录方法
os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...
- 吴裕雄--天生自然python学习笔记:python 用pyInstaller模块打包文件
要想在没有安装 Python 集成环境的电脑上运行开发的 Python 程序,必须把 Python 文件打包成 .exe 格式的可执行 文件. Python 的打包工作 PyInstaller 提供了 ...
- 吴裕雄--天生自然python学习笔记:python 文件批量查找
在多个文本文件中查找 我们首先来学习文本文件的查找字符 . 我们通过 os.walk 扩大查找范围, 查找指定目录和子目录下的文件. 应用程序总览 读取 当 前目录及子目录下的所有 PY 和 txt ...
- 吴裕雄--天生自然python学习笔记:python 用 Tesseract 识别验证码
用 Selenium 包实现网页自动化操作的案例中,发现很多网页都因 需输入图形验证码而导致实验无法进行 . 解决的办法就是对验证码进行识别 . 识 别的方法之 一 是通过图形处理包将验证码的大部分背 ...
- 吴裕雄--天生自然python学习笔记:pandas模块强大的数据处理套件
用 Python 进行数据分析处理,其中最炫酷的就属 Pa ndas 套件了 . 比如,如果我 们通过 Requests 及 Beautifulsoup 来抓取网页中的表格数据 , 需要进行较复 杂的 ...
- 吴裕雄--天生自然python学习笔记:Beautiful Soup 4.2.0模块
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...
随机推荐
- VUE,index key v-for
列表渲染语法 v-forv-for 循环对象 <article v-for="(item, key, index) of info">{{item}} {{key}} ...
- 经理人和app开发者大打出手,说明这个市场已经畸形变态?
日前,一件民生事件在网络上广为流传,成为人们热议的话题:中国平安的产品经理向app开发者提了一个需求,要求用户app的主题颜色能根据手机外壳自动调整,可能是开发人员觉得这个要求太不合理,而且感到十分绝 ...
- CSS——fixed 固定定位相对于父容器
position:fixed 固定定位 用 left top 都是相对于浏览器的. 我今天想给网页做一个固定定位的导航 偶然间发现.可以用margin 相对于父容器定位. 小伙伴们可以试试. 不用le ...
- C语言-指针到底是什么?
1.指针到底是什么?(1).指针变量与普通变量的区别 指针的实质就是一个变量,他跟普通变量没有任何本质区别.指针完整的名字应该叫做指针变量,简称为指针.2.为什么需要指针?(1).指针的出现是为了实现 ...
- 18 11 12 网络通信 tcp
tec 客户端的接受代码 import socket def main(): # 1. 创建tcp的套接字 tcp_socket = socket.socket(socket.AF_INET, soc ...
- 多线程下,两个线程交替打印0 -100,使用wait()和notify()
多线程下,两个线程交替打印0 -100,使用wait()和notify() public class ThreadTest{ private static final Object lock = ne ...
- 201503-2 数字排序 Java
思路: 将出现过的数以及次数放进Map中,转成List,用Comparator就可以排序了.参数中o2-o1,与排序规则相反,为降序 import java.util.ArrayList; impor ...
- Spring Cloud Hystrix熔断器隔离方案
Hystrix组件提供了两种隔离的解决方案:线程池隔离和信号量隔离.两种隔离方式都是限制对共享资源的并发访问量,线程在就绪状态.运行状态.阻塞状态.终止状态间转变时需要由操作系统调度,占用很大的性 ...
- JS面向对象,原型,继承
ECMAScript有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,ECMAScript ...
- PAT甲级——1061 Dating (20分)
Sherlock Holmes received a note with some strange strings: Let's date! 3485djDkxh4hhGE 2984akDfkkkkg ...