爬虫系列6下载一个网页(异常处理,用户代理,重试次数)
来源:互联网 发布:培训4个月ui还是java好 编辑:程序博客网 时间:2024/05/22 01:42
# -*- coding: utf-8 -*-import urllib2# 下载网页def download(url): return urllib2.urlopen(url).read()# 可能会遇到一些无法遇见的错误,可能会抛出异常# 捕捉异常版def download(url): print 'Downloading:', url try: html = urllib2.urlopen(url).read() except urllib2.URLError as e: print 'Download Error:', e.reason html = None return html# 重试下载版(有些错误是临时的,我们可以尝试重新下载,5xx服务器端问题)def download(url, num_retries=2): print 'Downloading:',url try: html = urllib2.urlopen(url).read() except urllib2.URLError as e: print 'Download Error:', e.reason html = None if num_retries > 0: if hasattr(e, 'code') and 500 <= e.code < 600: return download(url, num_retries-1) return html# 设置用户代理,重试次数def download(url, user_aget='wswp', num_retries=2): print 'Downloading:',url headers = {'User-agent':user_aget} request = urllib2.Request(url, headers=headers) try: html = urllib2.Request(request).read() except urllib2.URLError as e: print 'Download Error:', e.reason html = None if num_retries > 0: if hasattr(e, 'code') and 500 <= e.code < 600: return download(url, num_retries-1) return html
阅读全文
0 0
- 爬虫系列6下载一个网页(异常处理,用户代理,重试次数)
- python3爬虫(8):异常处理以及代理的使用
- 【Python3.6爬虫学习记录】(六)urllib详细使用方法(header,代理,超时,认证,异常处理)
- 爬虫入门系列1-网页下载
- python3爬虫(网页下载)
- python 爬虫(二)一个带下载进度的网页抓取小爬虫
- python 爬虫-2:添加用户代理和延时下载
- python网页爬虫代理
- python爬虫用户代理
- Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
- 网络爬虫系列之一:通过URL下载网页
- 网络爬虫下载网页
- 创建爬虫-----爬虫异常处理:
- Python网络爬虫(四)-----异常处理
- python爬虫-异常处理
- OkHttp自定义重试次数
- 数学之美系列六:图论和网络爬虫 (Web Crawlers)(如何自动下载互联网所有网页)
- java爬虫(使用jsoup设置代理,抓取网页内容)
- PHP 随机码的生成
- 多个JDK使用批处理命令切换JDK版本
- struts2的国际资源化文件
- hdu-1059-Dividing(多重背包+二进制优化)
- Vmware虚拟机下三种网络模式配置
- 爬虫系列6下载一个网页(异常处理,用户代理,重试次数)
- 独自闯荡上海,面试总结2
- 未来是巨型公司和个人的
- 第11周项目1
- BJTUOJ 连续数的和
- 一个高性能、轻量级的分布式内存队列系统--beanstalk
- 基于范围的for循环(C++11)
- 算法竞赛入门经典第二版 2-6排列
- Android群英传笔记集合