前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟我学爬虫,看大神不到30行代码做的一个简单爬虫!

跟我学爬虫,看大神不到30行代码做的一个简单爬虫!

作者头像
云飞
发布2018-09-11 17:51:55
9860
发布2018-09-11 17:51:55
举报

已经看了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。这次为大家带来,Python爬取校花网美女图片的例子。

首先,校花网大家知道吧,美女一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。

本篇目标

1.抓取校花网美女图片 2.学会正则表达式及其简单应用 3.实现一次爬取多张、多页美女图片并保存到本地。

工具:Windows+pycharm+python2.7

好了废话不多说,我们开始哦

1.确定URL并抓取页面代码

我们先来打开校花网主页:www.xiaohuar.com,我们选择校花排行(要爬美女当然要选排行榜了^_^),然后网站右键选择

审查元素(这里小编用的是极速浏览器,貌似用谷歌的浏览器比较好),小编推荐大家加一下这个群:542110741!大家遇到啥问题都会在里面交流!而且免费分享零基础入门料资料、爬虫资料!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!欲进从速哦!然后呢左上角点击箭头,在点击一张图片,如下图

ok,我们注意蓝色高亮的那行代码,src="http://www.xiaohuar.com/d/file/20140811101923185.jpg"这里就存放了我们要爬取的图片的地址,我们可以多取几行,然后先写下如下代码

注意第18行和其他行得到的网址不一样哦,不过没关系,我们把其他行的主页地址删掉就可以,如下:

替换高清大图

这些呢,就是我们要获取的图片的名字和存储路径了,然后呢,就是用到今天的第二个知识点,正则表达式来匹配图片名字了:img_urls = re.findall(r'/d/file/.*?.jpg',html),这行代码通俗点讲就是查找html(就是上面的源代码)中的所有'/d/file/.*?.jpg',并把其中(.*?)部分的内容赋值给img_urls。

符号的含义如下: “.” =匹配任意字符 “*” =匹配0次或更多 “?” =是非贪婪模式的意思

合起来呢(.*?)就是匹配任意字符到后面的(.)为止,(.)是(.)的意思,在正则表达式里用转义字符标记。

具体正则表达式的内容呢,大家可以自行百度或者观看小编其他的视频,里面有详细解说哦^_^,小编推荐大家加一下这个群:542110741!大家遇到啥问题都会在里面交流!而且免费分享零基础入门料资料、爬虫资料!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!欲进从速哦!我们继续下面的内容,上面呢,我们用正则表达式获取到了图片地址,后面在加一个for循环来获取多个图片地址,并将所有的图片下载到本地(py文件所在目录)

然后运行下看看(很多小姐姐就要来小编的硬盘了,很鸡冻哦^_^)

替换高清大图

完全木有问题,在看看目录

总体来说,还是成功了的^_^

源码奉上

是真的不到20行哦,壮哉我大python!

下面是视频奉上!

视频内容
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云飞学python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档