利用python抓取网页图片
近期在家想看华为官方的【IP,图话技术,微图】系列文档,奈何家里是长宽,基本打不开页面,刷新多次,心力憔悴。
▎下图感受下:
突然想起上次华为云大会送了台云服务器,一直被我用来做linux实验机。于是,突发奇想,利用python下载图片,然后利用工具传递到本地阅读,权当练手了。
▎网页代码样例:
查看网页源代码,可以找到图片所在的网址,加上网站前缀就是真正的图片目标地址。
在linux系统中,直接wget就能下载这些图片,验证图片地址的真实性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@plinuxos tmp] # wget http://support.huawei.com/huaweiconnect/data/attachment/forum/201705/03/20170503211729148001.png
--2017-09-02 12:48:40-- http: //support .huawei.com /huaweiconnect/data/attachment/forum/201705/03/20170503211729148001 .png
Resolving support.huawei.com (support.huawei.com)... 221.193.246.61, 121.18.169.18, 101.28.252.205
Connecting to support.huawei.com (support.huawei.com)|221.193.246.61|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 495335 (484K) [image /png ]
Saving to: ‘20170503211729148001.png’
100%[=============================================================>] 495,335 1.98MB /s in 0.2s
2017-09-02 12:48:41 (1.98 MB /s ) - ‘20170503211729148001.png’ saved [495335 /495335 ]
[root@plinuxos tmp] # ls
20170503211729148001.png downpic.py mysql.sock test .py zrlog.sql
db01.sql hsperfdata_root mysql.sql test .sql
|
▎抓取代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#/usr/bin/env python
import requests,bs4,time
headers = { 'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0' }
url = 'http://support.huawei.com/huaweiconnect/enterprise/thread-400343.html'
urlhtml = requests.get(url,headers = headers)
urlhtml.raise_for_status()
pichtml = bs4.BeautifulSoup(urlhtml.text[:], 'html.parser' )
piclink = pichtml.select( 'p span img[src]' )
if __name__ = = '__main__' :
piclist = []
for i in range ( len (piclink)):
picdic = piclink[i].attrs
newpicdic = 'http://support.huawei.com' + picdic[ 'src' ]
newpic = requests.get(newpicdic)
picname = str (time.strftime( "%Y%m%d00" ,time.localtime(time.time()))) + str (i) + '.png'
with open (picname, 'wb' ) as file :
file .write(newpic.content)
|
代码部分的解析,可以参见学习笔记,也可以参照往期利用python处理网页信息一文。
▎执行脚本:
1
2
3
4
5
6
7
8
9
10
|
[root@plinuxos tmp] # python3 downpic.py
[root@plinuxos tmp] # ls -lhrt *.png
-rw-r--r--. 1 root root 484K Sep 2 12:50 20170902000.png
-rw-r--r--. 1 root root 241K Sep 2 12:50 20170902001.png
-rw-r--r--. 1 root root 542K Sep 2 12:50 20170902002.png
-rw-r--r--. 1 root root 607K Sep 2 12:50 20170902003.png
-rw-r--r--. 1 root root 500K Sep 2 12:50 20170902004.png
-rw-r--r--. 1 root root 146K Sep 2 12:50 20170902005.png
-rw-r--r--. 1 root root 381K Sep 2 12:50 20170902006.png
-rw-r--r--. 1 root root 463K Sep 2 12:51 20170902007.png
|
可以看到,图片已经下载到了linux系统中,然后通过远程软件传输到本地查看。
▎效果如下:
好了,练手完,接下来,博主就可以安心的打磨网络知识了。。。
利用python抓取网页图片相关推荐
- python抓取网站图片_利用python抓取网站图片
看了网上关于python抓取网站图片的例子,所以自己也尝试着写一个,但是发现这个网站的src不是标准的路径,需要自己添加前面的目录地址,尝试了几次也不成功,所以希望有经验的朋友指导下. 本人是初学者, ...
- 利用python爬取网页图片
学习python爬取网页图片的时候,可以通过这个工具去批量下载你想要的图片 开始正题: 我从尤物网去爬取我喜欢的女神的写真照,我们这里主要用到的就两个模块 re和urllib模块,有的时候可能会用到t ...
- 利用python抓取网页各种类型内容(静态、动态)
声明: 本实验的操作系统是ubuntu,python 2.X Code-1:抓取静态的title数据(无需登录用户) 获取淘宝主页的页面静态数据 url:http://www.taoba ...
- python抓取网页图片的小案例
1.分析 ,要抓取的页面的信息以及对应的源码信息 blog.sina.com.cn/s/blog 93dc666c0101b1bj.html 2.代码模块: 导入正则表达的模块 导入url相关的模块 ...
- 利用python抓取网页上的数独,并用回溯法破解
这里抓取的是https://www.oubk.com/上不用登陆就能查看的数独 以下是抓取数独的代码: class Crawl_shudu(object):def __init__(self,url) ...
- python抓取网页图片
网页的图片大致是用Image导入的,使用的是相对路径,例如 <image src="image/bg.jpg"/> 通过匹配可以获取image/bg.jpg,与页面地址 ...
- Python利用bs4批量抓取网页图片并下载保存至本地
Python利用bs4批量抓取网页图片并下载保存至本地 使用bs4抓取网页图片,bs4解析比较简单,需要预先了解一些html知识,bs4的逻辑简单,编写难度较低.本例以抓取某壁纸网站中的壁纸为例.(b ...
- 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]
利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数 ...
- python抓取网站图片_python抓取图片示例 python抓取网页上图片
python抓取网页上图片 这个错误时是什么意思 下面是代码 import re import urllib.request imp正则表达式匹配的url有错误 for x in add: print ...
- python抓取图片_Python3简单爬虫抓取网页图片
现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2), 所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到 ...
最新文章
- 为什么说21世纪是一场ABC的革命?
- 2021年春季学期-信号与系统-第六次作业参考答案-第八小题
- Spring嵌套事务控制
- Alpha冲刺(8/10)
- sklearn中GBDT的一些参数、属性、方法的理解
- 做一辆超mini平衡自行车,全开源!
- POJ-2533 Longest Ordered Subsequence
- AR9331中Linux内核启动中与IRQ中断相关的文件
- 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc
- fedora 安装chrome
- OFFICE2013工具栏消失后的处理
- 百度网盘该坐不住了,迅雷11内测版,不限速2T云盘免费送!
- 在使用btest中的demo中遇到 multiple definition of 的问题!
- python读取图片、保存图片的方法
- 4. DBSCAN方法及其应用
- 数学运算符和运算符的优先级
- 水仙花数(输出全部水仙花数)
- 2022第七届少儿模特明星盛典 小主持人江姿莹 T台风采展示
- 子查询 navicat可视化,pymysql用法
- python时区、时差、时间差转换——datetime.timedelta类介绍
热门文章
- 网工考试——网络体系结构、物理层和数据通信
- Java的基本数据类型与转换
- HTML5之2D物理引擎 Box2D for javascript Games 系列 第二部分
- Xcode不能真机调试运行
- 程序名称:ROS强开首页(类似电信ADSL强开指定首页)
- m1系统怎么重装,m1芯片怎么重装系统,苹果M1芯片重装系统,m1芯片重新安装mac
- 少编码多思考:代码越多 问题越多
- 好戏常有:CSW和BU撕逼,Cobra劝架
- python解析properties文件
- 解决Visual C++ for Linux: -L~/projects/path_to_lib_folder 无法设置library search path的问题...