首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

半小时入门python爬虫爬下网站图片,不能再简单了

阅读本文大约需要2分钟

本文旨在为没有爬虫基础的,偶尔想爬虫爬一下某个网站上的图片的初学者使用,如果你已经是对爬虫很熟悉了,下面依然有你感兴趣的东西。

我最近也才正儿八经学习了下爬虫,出于某种需要爬一下网上的照片,毕竟并不是专业的,如果你想深入学习,还需要细学。如果只想用一下爬一下网上某个网站的照片,那可以参考一下。

说起来,一个爬虫代码就3个步骤:

确定你想要爬的网站,输入进去;

解析一下一个有规律的带照片的网页,然后通过查找匹配找到图片的唯一网页地址,一般来说每一个图片都存在唯一的一个网站地址。这么说来,其实爬虫就是给一个图片的地址,下载下来即可。而爬虫的关键是如何自动化的解析有规律的海量图片,实现自动批量下载。

有了地址,剩下的就是把图下载下来了。

推广一下,爬虫爬取图片只是爬虫的一个应用,你还可以爬去其他数据,比如电影网站评语呀,各类网站数据呀,等等,凡是你可以看到的有规律的数据,都可以爬虫完成。

不多说,直接看代码吧,一个及其简单易懂的代码:

# -*- coding: utf-8 -*-

"""AI公众号:AInewworld"""

importos

importurllib.request

# 主网址

url ="http://www.59pic.com/mn/"

# 下面两个参数需要看一下要爬取的网页来修改

pic_id =1736#具体的图片序列id

numall =8#序列照片数量

name = str(pic_id) +"_"

#图片存储路径

path1 ="D://myself//python//docment//spy//pic//"+ name[:len(name)-1]

ifnotos.path.exists(path1):#判断一个目录是否存在os.makedirs(path1)#多层创建目录

i=2

whilei

一步步分析,首先找一个有图片的网站,也是随便搜到的,网站内容怎么样,谁看谁知道。

接着找到一组序列图,比如下图这样有8张图的序列图,这是第一张。注意这里也对应这代码中两个需要修改的数字。

在下一步,解析,点击这个网页右击,鼠标审查元素,如图:

下面的问题变成如何把这个图片的网站给解析出来。这里我们就要找关键位置了,我们看一下上面这个图,找到图片对应的位置,那么怎么把这个网址分割出来呢?代码里面这个函数得到的是一个网页字符串,我们找到唯一表示的,使用一个find函数就找到了,比较简单。

最后我们使用下载函数直接下载到本地即可,第一个参数为图片地址,第二个参数为本地存储地址。注意,这个函数其实是非常弱的,碰到那些反爬虫的网站,就gg了,我今天就遇到过,不过已经找到解决办法了,文末一并分享出来。

注意一点的是,上述代码式运行在python3以上的版本中的,python2的版本,需要自己去修改了。

是不是足够简单,简单也很脆弱,经常还会碰到下载超时返回错误的情况,这个也可以解决。

其实你还可以写个函数,将每一组照片的数量给解析出来,这样你只要一个参数了。

你还可以遍历一些图片序列,这样可以自动下载n多序列的组图了。

好了就讲到这吧,没试过的去试试吧。

如果看了上述还不明白的,还有个简短的半小时视频教程。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180511G1WOM900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券