Pyhon 网络爬虫--简单的爬取功能
来源:互联网 发布:labview编程详解书 编辑:程序博客网 时间:2024/06/08 06:29
从网页上爬取内容大致分为三步:
1、获取整个网页信息(源代码)
2、通过正则匹配,获取指定标签中的内容3、将获取到的内容写到本地中
一、获取整个网页信息(源代码)
# coding utf-8import urllib.requestdef getHtml(url): html = urllib.request.urlopen(url).read() return htmlhtml = getHtml("http://www.weather.com.cn/weather/101190401.shtml")print(html)urllib.request.urlopen()方法用于打开一个URL地址。
read()用于读取URL中的数据
二、通过正则匹配,获取指定标签中的内容
# coding utf-8import urllib.requestimport redef getHtml(url): html = urllib.request.urlopen(url).read() return htmldef getImg(html): reg = 'src="(.+?\.png)"' imgre = re.compile(reg) html = html.decode('utf-8')#不加这句话,否则会报TypeError: cannot use a string pattern on a bytes-like object错误 imglist = imgre.findall(html) return imglisthtml = getHtml("http://www.weather.com.cn/weather/101190401.shtml")print(getImg(html))
(按F12打开开发者工具,在里面可以查看源代码,看你所需要筛选内容的格式)
通过正则表达式对html中进行筛选,获得图片链接re.compile() 可以把正则表达式编译成一个正则表达式对象.
正则表达式对象.findall() 方法读取html 中包含 imgre(正则表达式)的数据。
三、将页面筛选的数据保存到本地
# coding utf-8import urllib.requestimport redef getHtml(url): html = urllib.request.urlopen(url).read() return htmldef getImg(html): reg = 'src="(.+?\.png)"' imgre = re.compile(reg) html = html.decode('utf-8') imglist = imgre.findall(html) x = 0 for imgurl in imglist: urllib.request.urlretrieve(imgurl, '%s.png' % x) x += 1 return imglisthtml = getHtml("http://www.weather.com.cn/weather/101190401.shtml")print(getImg(html))urllib.request.urlretrieve()方法,直接将远程数据下载到本地。
0 0
- Pyhon 网络爬虫--简单的爬取功能
- 一个简单的网络爬虫---爬取网页中的图片
- Python2.7网络爬虫---简单的爬取百度贴吧的小爬虫
- HttpClient实现简单的网络爬虫功能
- python爬虫----简单的图片爬取
- Python 网络爬虫--简单的爬取一些防爬取的网站
- 简单网络爬虫实现<爬取网页邮箱>
- 简单网络爬虫实现<爬取网页邮箱>
- 简单网络爬虫实现<爬取网页邮箱>
- 一个简单的网络爬虫-从网上爬取美女图片
- java网络编程____最简单的爬虫(爬取网站美女图片)
- java实现简单的网络爬虫(爬取电影天堂电影信息)
- [笔记]python网络爬虫:一个简单的爬取图片并存储示例
- [笔记]python网络爬虫:一个简单的定向爬取大学排名信息示例
- 简单的网络爬虫
- 网络爬虫爬取策略,注意爬虫爬取网站的频率
- 网络爬虫简单功能工具类
- Python实现简单网络爬虫功能
- 拍卖(京东2017实习生招聘真题)
- url中文乱码
- c# 设计模式-单例模式
- python学习笔记(四)模块、面向对象
- 递推求解专题训练
- Pyhon 网络爬虫--简单的爬取功能
- 判断元素在数组中出现的次数
- 高德地图应用试开发--第二版(百度试验号已阵亡)
- 文章标题
- Maven Spring MVC + MyBatis 开发配置
- mysql数据库常用sql的分类整理
- HashMap集合
- C++:new和delete的用法
- 2017.04.18.错误小结