用python语言写的简易爬虫
来源:互联网 发布:js array map ie8 编辑:程序博客网 时间:2024/06/04 20:02
我们日常生活中经常使用的搜索引擎就是一种网络爬虫。它们利用比较先进的算法和程序从服务器中爬取到用户所需要查找的信息。
笔者也研究过一段时间的网络爬虫,不过能力还不够。而且是刚开始用python写网络爬虫的旅程。了解过之后,发现用python写网
络爬虫要比java写网络爬虫更加简洁与方便。下面是我写的第一个python网络爬虫实例:
#coding=utf-8import urllib2import urllibdef download(url): '''@url:需要爬取的网页地址''' print 'Downloading:',url html = urllib2.urlopen(url).read()'''此语句用于获得网页的html代码''' urllib.urlretrieve(url,'f://download.html') '''此语句用于下载网页的html代码''' '''调用download函数'''download('http://www.taobao.com/')由于用户在访问网页时,可能会出现一些错误代码。常见的有:
200:成功(以2开头的代码均成功)
302:重定向(目标暂时转移)
404:客户端错误,在服务器中找不到查找的资源或信息。(以4开头的均为客户端错误)
500:服务器内部错误。(以5开头的代码均为服务器端错误)
因此如果服务器内部出现了问题,那么我们可以再次访问,也许会访问到该网站。由于访问可能会出现错误,所以也需要进行异常处理。
代码实现如下:
#coding=utf-8import urllib2import urllibdef download(url,num_retries = 2): ''' 定义download函数 @url:为需要访问的网址 @num_retries:重新下载的次数 ''' print 'Download:',url try: #处理异常 html = urllib2.urlopen(url).read() #可能发生异常的代码 except urllib2.URLError as e: print 'Download error:',e.reason #输出错误信息 html = None #将html置空 if num_retries > 0: '''hasattr用于判断错误信息e中是否有code字段''' if hasattr(e,'code') and 500 <= e.code < 600: return download(url,num_retries - 1) urllib.urlretrieve(url,'f://download.html') #下载网页html代码download('http://www.sina.com/') #调用函数
阅读全文
0 1
- 用python语言写的简易爬虫
- Python简易的爬虫
- python编写的简易爬虫
- 使用nodejs写一个简易的爬虫
- 用python写爬虫
- 用C语言写的爬虫项目
- 用python写爬虫的一些技巧
- 用python写爬虫的一些技巧
- 用python写的多线程网页爬虫
- 用python写的一次爬虫经历
- 用Python写一个简单的爬虫
- 利用python写一个简易的爬虫,基于慕课网对应课程
- python一个下载小说的简易爬虫
- 我写的第一个用Python写的爬虫
- python 3.5 写的爬虫
- 写Python爬虫的准备工作
- Python初级简易爬虫
- python简易爬虫制作
- Network Saboteur--dfs
- Dagger2中@dependencies和@Subcomponent以及懒加载的使用
- nodejs express-jwt解析
- 线程与threading模块(python)
- c++构造函数抛出异常
- 用python语言写的简易爬虫
- 利用百度贴吧上首页暴力引流小技巧
- JavaScript函数
- android圆环
- POJ
- memcached 的学习
- 函数的可重入和C++中Sendmessage 和 PostMessage 的区别
- 影子寄存器
- css层叠样式表