吴裕雄--天生自然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会帮你节省数小时 ...
随机推荐
- Linux-IO多路复用select函数实践
#include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/time.h ...
- CentOS系统安装过程中配置软RAID-0或RAID-1
什么是RAID-0 RAID-0 (等量模式, stripe):效能最佳.这种模式如果使用相同型号与容量的磁碟来组成时,效果较佳.这种模式的 RAID 会将磁碟先切出等量的区块 (举例来说, 4KB) ...
- OpenMP笔记(四)
个人博客地址:http://www.bearoom.xyz/2019/02/22/openmp4/ 一.private private子句用于将一个或多个变量声明成线程私有的变量,这样每个线程都有该变 ...
- Ubuntu上运行tensorflow C++的完整例子
个人博客原文:http://www.bearoom.xyz/2019/08/25/ubuntu-tensorflow-cc-example/ 之前记录的运行Tensorflow的C++接口的例子都是零 ...
- // 生成modbus CRC16数据
CRC- / MODBUS : )CRC寄存器初始值为 FFFF:即16个字节全为1: )CRC- / MODBUS的多项式A001H ( 0001B) ‘H’表示16进制数,‘B’表示二进制数 计算 ...
- 63)对于STL基本概念东西 自己百度(没有整理)
基础知识 看 C++进阶课程讲义的那个word文档
- MyBatis从入门到精通(第6章):6.3 使用枚举或其他对象
6.3 使用枚举或其他对象 在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用.但是在 SysRole 类中,我们使用的是 Integer enab ...
- 用Matplotlib画三维图片的一个实例
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np from matp ...
- intellij idea安卓开发配置
1.java sdk 2.java ndk 3.gradle https://gradle.org/install/#manually 配置properties 删除根目录下android{} htt ...
- Oauth2.0详解及安全使用
引言:刚刚参加工作的时候接到的第一个任务就是接入新浪的联合登录功能,当时新浪用的还是oauth1.0协议.接入的时候没有对oauth协议有过多的了解,只是按照开放平台的接入流程进行开发,当时还在想这么 ...