python爬虫学习(一)通过urllib2模块获取html,设置用户代理
2016-12-19 17:52
1166 查看
摘自《用Python写网络爬虫》
PS:错误码503为服务器加载过时,可重新加载。
错误码404为该网页不存在,不可重新加载。
例:设置一个默认的用户代理“wswp”(即Web Scraping with Python)
以上这个函数在我们以后的爬虫学习中将会得到灵活的复用。
第一个爬虫
通过urllib2模块获取html
import urllib2 def 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 urllib2 def 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
以上这个函数在我们以后的爬虫学习中将会得到灵活的复用。
相关文章推荐
- 【用Python写爬虫】获取html的方法【一】:使用urllib
- Python爬虫设置动态代理(在线获取)
- 【用Python写爬虫】获取html的方法【四】:使用urllib下载文件
- python爬虫学习二: urllib2模块的学习
- 第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware中间件全局随机更换user-agent浏览器用户代理
- 【用Python写爬虫】获取html的方法【一】:使用urllib
- 学习Python爬虫(二):urllib库之parse模块、request模块
- 【Python3.6爬虫学习记录】(六)urllib详细使用方法(header,代理,超时,认证,异常处理)
- [python]通过urllib2设置代理访问网址
- aspnetpager 获取或设置在显示在用户自定义信息区的用户自定义HTML文本内容。
- python模块之HTMLParser: 解析html,获取url
- Python:通过远程监控用户输入来获取淘宝账号和密码的实验(二)
- Python模块学习 ---- urllib
- 牛腩购物9 用户表设计/动软生成器/金钱字段decimal(18, 2)/ 注册的时候的前台js判断/后台代码判断/正则表达式软件/RegexBuddy/设置数据库字段的唯一性约束/如何获取控件在前台html的id值/如何将C#的后台正则换成js的正则
- Python urllib模块学习
- Python模块学习 --- urllib
- Java学习笔记之网络编程基础-通过URL获取HTML页面
- python模块之HTMLParser: 解析html,获取url
- 给Python中通过urllib2.urlopen获取网页的过程中,添加gzip的压缩与解压缩支持
- python模块之HTMLParser: 解析html,获取url