python3.6实现简单爬虫功能,获取图片

时间:2017-12-05 16:42来源:成都达内 作者:成都达内 点击:

  python3.6实现简单爬虫功能,获取图片

  要开始讲一下简单的网络爬虫,网络是web,像一张网一样,然后爬虫用的英语是spider,是蜘蛛的意思,意思就是在互联网上捕捉昆虫等的蜘蛛,就叫做网络爬虫是不是很形象!

  在python3.0以前,网络爬虫用的都是urllib和urllib2模块,在3.0以后这个库改为urllib.request这个模块了,在下面的调用方法也是这个模块。

  首先我们要知道我们在网上爬取什么,比如我们现在就是要将一个获取网页图片的功能,当然了如果你不嫌麻烦可以自己用鼠标右键点击图片另存为~~~不过我们今天要讲的就是用python语言实现这个图片抓取的功能。

  学这个之前先学一下正则表达式的知识吧,我这里有文章大家自己可以看一下:

  网址:http://blog.sina.com.cn/s/blog_7003de9e0102x0tu.html

  学习完正则表达式之后,我们来看一下百度贴吧上面的图片怎么获取。

  打开百度贴吧:https://tieba.baidu.com/p/5306226942

  然后用google浏览器查看图片地址

  成都Python培训

  发现都是已src开头以.jpg结尾的

  然后我们写下如下的代码:

  #coding=utf-8

  import urllib.request

  import re

  url = "https://tieba.baidu.com/p/5306226942";

  page = urllib.request.urlopen(url)

  html = page.read()

  reg = r'src="(.*?\.jpg)"'

  imgre = re.compile(reg)

  html=html.decode('utf-8')

  imglist = re.findall(imgre,html)

  x = 0

  for imgurl in imglist:

  urllib.request.urlretrieve(imgurl,'%s.jpg' % x)

  x+=1

  作者开始解释代码的含义:

  #coding=utf-8 字符编码是utf-8的字符编码

  import urllib.request 导入urllib.request 模块

  import re 导入正在表达式模块

  url = "https://tieba.baidu.com/p/5306226942"; 设置网页网址是这个

  page = urllib.request.urlopen(url) 打开网页

  html = page.read() 读取网页文档

  reg = r'src="(.*?\.jpg)"' 设置正在表达式字符串

  imgre = re.compile(reg) 设置正在表达式字符串变成正则表达式对象然后可以使用

  html=html.decode('utf-8') 把读出来的网页编码集设置为utf-8,这是python3.x以后才规定的,python3.0以前没有

  imglist = re.findall(imgre,html) 根据正则表达式获取出符合条件的图片链接

  然后用循环函数for循环图片

  在循环函数里面用urllib.request.urlretrieve(imgurl,'%s.jpg' % x)函数下载图片就可以了,然后把图片名字重新编排了一下,运行之后的效果是这样的

  成都Python培训

  图片就被下载下来了,是不是也很简单?

  成都Python培训哪家好,当然是成都达内培训,成都达内是一家专业的程序员培训机构,专注于网络营销课程,成都Python培训,成都软件测试培训,成都php培训,成都java培训,成都安卓培训,成都会计实操培训,web前端开发,成都网络营销培训,成都it培训,成都编程培训,成都程序员培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业,达内培训,成都Python培训学校www.cdtedu.com/pxkc/py/

(责任编辑:成都达内)

未获取畅言代码,错误消息:sign error

CopyRight © 2002-2016 成都达内科技职业技能培训学校 (www.cdtedu.com) 版权所有 成都达内 川公网安备 51019002000307号 网站地图