发布时间:2019-07-23 09:43:37编辑:auto阅读(1241)
近期在家想看华为官方的【IP,图话技术,微图】系列文档,奈何家里是长宽,基本打不开页面,刷新多次,心力憔悴。
▎下图感受下:
突然想起上次华为云大会送了台云服务器,一直被我用来做linux实验机。于是,突发奇想,利用python下载图片,然后利用工具传递到本地阅读,权当练手了。
▎网页代码样例:
查看网页源代码,可以找到图片所在的网址,加上网站前缀就是真正的图片目标地址。
在linux系统中,直接wget就能下载这些图片,验证图片地址的真实性。
[root@plinuxos tmp]# wget http://support.huawei.com/huaweiconnect/data/p_w_upload/forum/201705/03/20170503211729148001.png --2017-09-02 12:48:40-- http://support.huawei.com/huaweiconnect/data/p_w_upload/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) [p_w_picpath/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
▎抓取代码:
#/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处理网页信息一文。
▎执行脚本:
[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 装饰器简单示例
下一篇: 006-Python迭代器
47486
45791
36786
34320
28957
25591
24438
19608
19105
17630
5460°
6043°
5567°
5634°
6569°
5372°
5372°
5880°
5853°
7165°