0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python抓取网络高清美图

马哥Linux运维 来源:工程师曾玲 2019-02-02 17:21 次阅读

一:前言

嘀嘀嘀,上车请刷卡。昨天看到了不错的图片分享网——花瓣,里面的图片质量还不错,所以利用selenium+xpath我把它的妹子的栏目下爬取了下来,以图片栏目名称给文件夹命名分类保存到电脑中。这个妹子主页http://huaban.com/boards/favorite/beauty是动态加载的,如果想获取更多内容可以模拟下拉,这样就可以更多的图片资源。这种之前爬虫中也做过,但是因为网速不够快所以我就抓了19个栏目,一共500多张美图,也已经很满意了。

先看看效果:

Paste_Image.png

 Python抓取网络高清美图

Paste_Image.png

二:运行环境

IDE:Pycharm

Python3.6

lxml 3.7.2

Selenium 3.4.0

requests 2.12.4

三:实例分析

1.这次爬虫我开始做的思路是:进入这个网页http://huaban.com/boards/favorite/beauty然后来获取所有的图片栏目对应网址,然后进入每一个网页中去获取全部图片。(如下图所示)

Paste_Image.png

Paste_Image.png

2.但是爬取获取的图片分辨率是236x354,图片质量不够高,但是那个时候已经是晚上1点30之后了,所以第二天做了另一个版本:在这个基础上再进入每个缩略图对应的网页,再抓取像下面这样高清的图片。

 Python抓取网络高清美图

Paste_Image.png

四:实战代码

1.第一步导入本次爬虫需要的模块

 Python抓取网络高清美图

2.下面是设置webdriver的种类,就是使用什么浏览器进行模拟,可以使用火狐来看它模拟的过程,也可以是无头浏览器PhantomJS来快速获取资源,['--load-images=false', '--disk-cache=true']这个意思是模拟浏览的时候不加载图片和缓存,这样运行速度会加快一些。WebDriverWait标明最大等待浏览器加载为10秒,set_window_size可以设置一下模拟浏览网页的大小。有些网站如果大小不到位,那么一些资源就不加载出来。

 Python抓取网络高清美图

3.parser(url, param)这个函数用来解析网页,后面有几次都用用到这些代码,所以直接写一个函数会让代码看起来更整洁有序。函数有两个参数:一个是网址,另一个是显性等待代表的部分,这个可以是网页中的某些板块,按钮,图片等等...

 Python抓取网络高清美图

4.下面的代码就是解析本次主页面http://huaban.com/boards/favorite/beauty/然后获取到每个栏目的网址和栏目的名称,使用xpath来获取栏目的网页时,进入网页开发者模式后,如图所示进行操作。之后需要用栏目名称在电脑中建立文件夹,所以在这个网页中要获取到栏目的名称,这里遇到一个问题,一些名称不符合文件命名规则要剔除,我这里就是一个 * 影响了。

 Python抓取网络高清美图

 Python抓取网络高清美图

Paste_Image.png

5.前面已经获取到栏目的网页和栏目的名称,这里就需要对栏目的网页分析,进入栏目网页后,只是一些缩略图,我们不想要这些低分辨率的图片,所以要再进入每个缩略图中,解析网页获取到真正的高清图片网址。这里也有一个地方比较坑人,就是一个栏目中,不同的图片存放dom格式不一样,所以我这样做

 Python抓取网络高清美图

这就把两种dom格式中的图片地址都获取了,然后把两个地址list合并一下。img_url +=img_url2在本地创建文件夹使用filename = 'image{}'.format(fileName) + str(i) + '.jpg'表示文件保存在与这个爬虫代码同级目录image下,然后获取的图片保存在image中按照之前获取的栏目名称的文件夹中。

 Python抓取网络高清美图

五:总结

这次爬虫继续练习了Selenium和xpath的使用,在网页分析的时候也遇到很多问题,只有不断练习才能把自己不会部分减少,当然这次爬取了500多张妹纸还是挺养眼的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84621

原文标题:小白请上车 | Python抓取花瓣网高清美图

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    美图秀秀(美图大师)

    `<font face="Verdana"><strong>美图秀秀(美图大师)<
    发表于 09-02 10:53

    如何使用高清网络机顶盒

    随着3g互联网络的发展,其覆盖率不断的扩大使互联网络电视的使用也越来越普遍。那么在如何使用高清网络机顶盒时,我们怎么去选购机顶盒呢?  选高清
    发表于 06-17 17:26

    小米联姻美图 最大的敌人还是苹果!

    `有网友调侃,心目中国产手机的拍照水平是:美图>vivo>华为>OPPO>小米。想不到这一头一尾的两个品牌,居然结盟了!2018年11月19日,小米集团发布Q3公告,并高调宣布与美图公司签订战略合作
    发表于 11-21 13:50

    python网络爬虫概述

    网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫按照系统结构和实
    发表于 03-21 16:51

    美图M6s发布:Angelababy自曝高清自拍 简直美炸了

    昨天美图正式发布了新一代的美图的手机M6s,美图的首席代言人Angelababy随即在微博晒出了由美图M6s拍摄的自拍美照,并附文称一张高清
    发表于 12-06 18:22 2498次阅读

    美图V4高清图赏

    要说手机圈最为养眼的发布会,当然要数美图了。作为行业内“颜值”最高的新品发布会,美图手机似乎一直在坚持把手机发布会当成时尚秀来办。美女帅哥红毯已成标配,明星网红更是纷来捧场,热闹非凡。
    的头像 发表于 12-14 10:34 3781次阅读

    python3.3抓取网页数据的程序资料免费下载

    本文档的主要内容详细介绍的是python3.3抓取网页数据的程序资料免费下载。
    发表于 01-29 15:19 21次下载
    <b class='flag-5'>python</b>3.3<b class='flag-5'>抓取</b>网页数据的程序资料免费下载

    美图V7高清图赏

    1月8日下午,美图手机正式发布美图V7标准版,搭载骁龙845处理器,全球首创的前置三摄配置,支持“前置AI夜拍美颜”“3D凝时相机”“闭眼修复”等摄影功能。
    的头像 发表于 01-30 09:25 3628次阅读

    美图皮肤检测仪高清图赏

    近日,美图手机官方微博发布告别信,宣布将在年中关闭手机业务,将旗下美图手机的品牌独家授权给小米集团。
    的头像 发表于 05-29 09:01 5159次阅读

    Python网络爬虫的PDF电子书免费下载

    本书讲解 了 如何使用Python 来编写网络爬虫程序 , 内 容包括 网络爬虫简介 , 从页面 中 抓取数据 的三种方法 , 提取缓存 中 的 数据 , 使用 多 个线程和进程来进行
    发表于 07-08 08:00 9次下载

    小米CC9美图定制版高清图赏

    去年底,小米宣布收购美图手机,未来美图手机将由小米运营。在7月2日晚的发布会上,小米正式发布了小米CC9美图定制版,也就是之前的“小仙女”手机,小米负责硬件的生产研发,但相机部分则是100%由
    的头像 发表于 07-08 09:56 3324次阅读

    Python爬虫:使用哪种协议的代理IP最佳?

    网络大数据要抓取信息,大多需要经过python爬虫工作,爬虫能够帮助我们将页面的信息抓取下来。
    的头像 发表于 06-28 16:25 1954次阅读

    Python网络设备巡检(异常自动报警)

    python抓取交换机的信息。
    的头像 发表于 12-29 09:09 3181次阅读

    使用Python网络设备进行运维的思路分析

    python代码抓取交换机的上面的信息,例如客户端的MAC地址,交换机端口,并把抓取的信息筛选,存入sqlserver数据库。
    发表于 01-26 16:38 565次阅读

    Python库解析:通过库实现代理请求与数据抓取

    Python中,有多个库可以帮助你实现代理请求和数据抓取。这些库提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进行复杂的网络操作。
    的头像 发表于 10-24 07:54 162次阅读