更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

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

  • 发布:Python培训
  • 来源:练习题库
  • 时间:2017-11-24 16:51

要开始讲一下简单的网络爬虫,网络是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浏览器查看图片地址

发现都是已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爬虫』破解JS加密的Cookie教程
下一篇:python与MySQL的互动:从一个爬虫开始

Python编程练习题二

Python编程练习题一

Python实现降雪效果

Python中dir()、help()的使用

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省