您的位置:首页 > 编程语言 > Python开发

python爬虫学习(一)通过urllib2模块获取html,设置用户代理

2016-12-19 17:52 1166 查看
摘自《用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 爬虫
相关文章推荐