您现在的位置是: 网站首页 >> 爬虫 爬虫

【小试牛刀】python爬取壁纸图片

发布时间:2018年8月27日 02:26 作者:Master 来源:原创 点击:482

    先写个简单的爬虫试试水。。。


    使用python快速编写一个壁纸图片的爬虫,我这里就随便找了个壁纸网站,需要爬其他网站图片问题也不大,稍微改动下解析模块,应该大体适用。


    准备工作:python3,第三方库requests(也可以用自带的urllib),BeautifulSoup

    写代码之前我们需要先分析下需要爬取的网页。

    首先确定我们需要爬的是什么,这里我们确定的就是一个图片标题,一个图片地址

    20180826234919.png


    确认了要爬取的数据,下一步我们就需要分析如何取爬了,同时这里有个小细节,那就是这里看到的图片地址它是缩略图地址(而且这里src源码不是这个的,有动态加载),我们肯定需要的是原图,那不是还得先进详情页取获取?

    这里并不需要,因为从这里看,它的缩略图url是有规则的,那就是原图地址加上了缩略图尺寸

    20180826235258.png

    所以我们直接获取这个缩略图地址,然后再把图片url处理一下就可以了,而不需要进入详情页获取源图片地址。

    20180826235307.png


    下一步是什么?还是继续分析爬取规则,因为我们更多时候是不可能只爬去一页数据的,肯定是爬取多页或者是有多少爬取多少(这里只有5页),那么分析下它的翻页规则。

    这里还是比较简单的,直接url就已经规则化了,改变它的页面url就能翻页了。

    20180826235405.png

    分析过程基本完成,下面就是如何去编写代码爬取这些图片了。


    这里我大概分这么几步

    1,获取页面源码

    2,解析源码,提取title,获取图片地址data-original(注意图片地址不是src)

    3,裁切图片地址

    4,获取图片并保存



    这里一个获取页面源码的方法(HtmlDownload),一个裁切图片地址的

    20180827013505.png



    解析数据以及保存图片

    20180827013532.png



    最后就是总的逻辑了,直接用个for循环修改页面url达到翻页的目的

    20180827013555.png


    最终爬取结果

    20180827013626.png

    20180827021804.png

    这里有个地方,那就是保存的路径是程序同目录下的images目录下的,因为我这里是手动创建,如果没有这个文件夹话会保存爆粗,可以用代码动态创建也可以手动创建,看个人


    一个简单的图片爬虫就完成了,难度不大,主要是思路清晰,清楚写什么,怎么去写,问题应该不大,其他图片网站原理类似,可能只是解析规则不一样而已


    然后就是这个富文本对代码的显示不是很友好,打算这两天用Markdown试试,所以就只是直接贴图片,不直接发代码了。