Python标准库urllib2伪装http_referer和user-agent访问

查看原文:http://www.sijitao.net/2289.html
前面博客介绍了python标准库urllib2的基本使用和linux系统curl命令伪装http_referer和user-agent访问,不懂的可以点击链接再看下。这篇文章继续以伪装为目的,不过完全使用urllib2来实现。步骤如下,先创建request对象,然后修改request对象以增加header信息,最后把request对象传递给urllib2的urlopen方法。

代码如下:

#coding:utf-8

import urllib2

def visitWebsite(url,timeout=60):
    req=urllib2.Request(url)
    req.add_header('Referer', 'http://www.sijitao.net/')
    req.add_header('User-Agent',"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
    
    try:
        response=urllib2.urlopen(req,timeout=timeout)
        print "Url: %s\t%s" % (url,response.getcode())
    except urllib2.URLError as e:
        if hasattr(e, 'code'):
            print "Url: %s\t%s" % (url,e.code)
        elif hasattr(e, 'reason'):
            print "Url: %s\t%s" % (url,'error')
    except:
        pass
    finally:
        if response:
            response.close()

if __name__ == '__main__':
    urls=[
        'http://www.baidu.com/',
        'http://www.qq.com/',
    ]
    for url in urls:
        visitWebsite(url)

这个伪装一般做网站采集可能会用到。好了,就是那么简单。

参考网址:http://www.sijitao.net/2249.html

你可能感兴趣的:(Python标准库urllib2伪装http_referer和user-agent访问)