利用python抓取网页图片

简介:

    近期在家想看华为官方的【IP,图话技术,微图】系列文档,奈何家里是长宽,基本打不开页面,刷新多次,心力憔悴。


▎下图感受下:

wKiom1mqK53QvjMZAAEguKiuqIc274.png-wh_50

    突然想起上次华为云大会送了台云服务器,一直被我用来做linux实验机。于是,突发奇想,利用python下载图片,然后利用工具传递到本地阅读,权当练手了。


▎网页代码样例:

wKiom1mqMJfBxWHdAAQD_irs6zw538.png-wh_50

查看网页源代码,可以找到图片所在的网址,加上网站前缀就是真正的图片目标地址。

在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  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系统中,然后通过远程软件传输到本地查看。


▎效果如下:

wKioL1mqLerDAu2MAALxrs1zQbE602.png-wh_50


好了,练手完,接下来,博主就可以安心的打磨网络知识了。。。









本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1962116,如需转载请自行联系原作者

目录
打赏
0
0
0
0
101
分享
相关文章
|
6月前
|
Python实用记录(六):如何打开txt文档并删除指定绝对路径下图片
这篇文章介绍了如何使用Python打开txt文档,删除文档中指定路径的图片,并提供了一段示例代码来展示这一过程。
63 1
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
141 1
抓取和分析JSON数据:使用Python构建数据处理管道
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
449 4
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
python爬虫抓取91处理网
本人是个爬虫小萌新,看了网上教程学着做爬虫爬取91处理网www.91chuli.com,如果有什么问题请大佬们反馈,谢谢。
69 4
用python给你写个简单的计算器功能网页啊
这张图片展示了阿里巴巴集团的组织架构图,涵盖了核心电商、云计算、数字媒体与娱乐、创新业务等主要板块,以及各板块下的具体业务单元和部门。
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
在信息化时代,实时数据的获取对体育赛事爱好者、数据分析师和投注行业至关重要。本文介绍了如何使用Python的`ThreadPoolExecutor`结合代理IP和请求头设置,高效稳定地抓取五大足球联赛的实时比赛信息。通过多线程并发处理,解决了抓取效率低、请求限制等问题,提供了详细的代码示例和解析方法。
152 0
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
|
6月前
|
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
77 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等