吴裕雄--天生自然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会帮你节省数小时 ...
随机推荐
- Opencv中的轮廓(不全)
1.初识轮廓 为了准确,要使用二值化图像.在寻找轮廓之前,要进行阈值化处理,或者Canny边界检测. 查找轮廓的函数会修改原始图像.如果你在找到轮廓之后还想使用原始图像的话,你应该将原始图像存储到其他 ...
- 客户主题分析(tableau)—客户分群
主要分析方面:客户合理分群 客户分群实现:使用聚类构建指标,需理解聚类的分析逻辑,需使用软件:tableau 聚类方法:选择3指标分别为购买总金额,客户购买次数.类平均购买价格(四类的平均购买价格,四 ...
- [Java-基础]反射_Class对象_动态操作
动态性 动态语言 在程序运行时,可以改变程序结构或变量类型,典型的语言: Python,ruby,javascript 如: function test(){ var s = "var a= ...
- 微信请求参数生成SHA1签名
package com.dhht.wechat.util; import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObjec ...
- 递归与树的写法-多种支付的设计-支付的接通-celery订单的回退实现
递归与树的写法 data: data=[ {"cat_id":1,"name":"北京","parent_id":0}, ...
- switch-case的用法
case 值1: 表达式的值和 值1匹配上了,需要执行的代码; break; case 值2: 表达式的值和 值2匹配上了,需要执行的代码; break; case 值3: 表达式的值和 值3匹配上了 ...
- tensorflow slim训练以及到安卓部署教程
https://blog.csdn.net/chenyuping333/article/details/81537551 https://blog.csdn.net/u012328159/articl ...
- 关于SG函数
Sprague-Grundy定理(SG定理): 游戏和的SG函数等于各个游戏SG函数的Nim和.这样就可以将每一个子游戏分而治之,从而简化了问题.而Bouton定理就是Sprague-Grundy定理 ...
- 获取IP和IP地址
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>; <script type= ...
- Tarjan算法:求解无向连通图图的割点(关节点)与桥(割边)
1. 割点与连通度 在无向连通图中,删除一个顶点v及其相连的边后,原图从一个连通分量变成了两个或多个连通分量,则称顶点v为割点,同时也称关节点(Articulation Point).一个没有关节点的 ...