集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

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

发布者: 成都达内     浏览次数:     发布时间:2017-12-05 16:42:27

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

  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/

(责任编辑:成都达内)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街紫东段35号明宇广场2306

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56