近期在家想看华为官方的【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系统中,然后通过远程软件传输到本地查看。
▎效果如下:
好了,练手完,接下来,博主就可以安心的打磨网络知识了。。。
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1962116,如需转载请自行联系原作者