python爬虫学习(一)通过urllib2模块获取html,设置用户代理
来源:互联网 发布:扁平图标设计 知乎 编辑:程序博客网 时间:2024/05/13 04:58
摘自《用Python写网络爬虫》
第一个爬虫
通过urllib2模块获取html
import urllib2def getHtml(url,getNum): ##避免请求页面不存在或其他异常情况 try: html = urllib2.urlopen(url).read() except urllib2.URLError as e: print 'get html error:',e.reason html = None if getNum > 0 : if hasattr(e,'code') and 500 <= e.code <=600: ##当错误码为5xx时回调 return getHtml(url,getNum-1) return html
PS:错误码503为服务器加载过时,可重新加载。
错误码404为该网页不存在,不可重新加载。
设置用户代理
因有些网站会封禁默认的用户代理,所有我们需要有个控制用户代理的设定。
例:设置一个默认的用户代理“wswp”(即Web Scraping with Python)
import urllib2def getHtml(url,getNum,user-agent='wswp'): ##设置请求头 request_headers = {'User-agent':user_agent} request = urllib2.Request(url,headers=request_headers) ##避免请求页面不存在或其他异常情况 try: html = urllib2.urlopen(request).read() except urllib2.URLError as e: print 'get html error:',e.reason html = None if getNum > 0 : if hasattr(e,'code') and 500 <= e.code <=600: ##当错误码为5xx时回调 return getHtml(url,getNum-1) return html
以上这个函数在我们以后的爬虫学习中将会得到灵活的复用。
0 0
- python爬虫学习(一)通过urllib2模块获取html,设置用户代理
- python urllib2模块学习
- Python爬虫设置动态代理(在线获取)
- python模块urllib2详解一
- python模块之urllib2基本爬虫入门
- Python爬虫(一)之获取代理IP
- python 爬虫入门(2) 爬虫基础知识 ; urllib 模块 ;urllib2 模块
- Python学习urllib2模块使用
- python爬虫用户代理
- Python爬虫----爬虫入门(3)---urllib2
- python模块学习之---- urllib2模块详解
- python urllib2设置代理下载页面
- python]用urllib2设置代理访问网页
- Python 爬虫学习笔记一: requests 模块
- python简单爬虫(上):urllib,urllib2与cookielib三个模块
- python网络爬虫学习(一)通过GET和POST方式获取页面内容
- [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
- [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
- 中文字符串的字节流
- 【例题】【高斯消元】USACO3.2.4 Feed Ratios
- 由SpringJdbc引发的一点思考
- dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications
- SpringMvc如何传递获取Date类型数据
- python爬虫学习(一)通过urllib2模块获取html,设置用户代理
- linux问题记录:too many levels of symbolic links
- 利用Apache的CommonPool2编写连接池
- ViewPager下的懒加载Fragment
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 极度危险而常见的网站安全漏洞
- yii2-js文件加载的位置设定
- 数据从网络层发送到以太网经过的过程
- 前端构建工具gulpjs的使用介绍及技巧