专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
运维  ·  小红书用户迷惑行为大赏 ·  11 小时前  
51好读  ›  专栏  ›  马哥Linux运维

Python爬取百度贴吧图片

马哥Linux运维  · 公众号  · 运维  · 2017-04-26 08:25

正文

作者:MTbaby

来源:http://blog.csdn.net/mtbaby/article/details/70209729


描述:用Python爬去百度贴吧图片并保存到本地。
本人刚学爬虫还不是很熟练,其中难点在于正则表达式的理解;

说明

0 1

获取整个页面数据


Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:

urllib.urlopen()方法用于打开一个URL地址。

read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。

0 2

筛选页面中想要的数据


Python 提供了非常强大的正则表达式,我们需要先要了解一点python 正则表达式的知识才行。
假如我们百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如:src=”http://imgsrc.baidu.com/forum……jpg”pic_ext=”jpeg”

我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:

re.compile() 可以把正则表达式编译成一个正则表达式对象.

re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。

运行脚本将得到整个页面中包含图片的URL地址。

0 3

将页面筛选的数据保存到本地


通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。

程序运行完成,将在目录下看到下载到本地的文件。

———— 金三银四课程特惠 ————

马哥教育精英线下Linux班郑州校区开班倒计时,优惠四重享,赠送高达4000元的学习大礼包:

第一重:4月30日前报名,立减400元,名额有限抢完为止;

第二重:4月30日前报名,赠送马哥教育内部Linux知识精讲教材一本( 价值666元 );

第三重:4月30日前报名,赠送马哥教育实体服务器使用资格( 价值1666元 );

第四重:4月30日前报名,赠送马哥教育云学堂学习权限1个( 价值1999元 );


课程详情,请咨询学习顾问:








请到「今天看啥」查看全文


推荐文章
运维  ·  小红书用户迷惑行为大赏
11 小时前
中国物理学会期刊网  ·  费米国家实验室的诞生
7 年前