同一台计算机,同一个环境下,获取LOL贴吧前二十页内容,urllib2用时18.8280000687,而采用requests进行网络请求耗14.8680000305。综上来讲,选用第三方的requests进行网络请求效率比较高。但是,依然不够好,如果我们采用,多线程的方法,又可以将时间成倍的降低,也就是说如果你是两核处理器时间可以在requests的基础之上除以2,如果是四核的,就可以在requests的基础之上除以4。这样就可以大大的提高网络请求效率。
requests请求:
def getContent(url):
”’
:param url: 网络地址
:return:获取的网页内容
”’
user_agent = ‘User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;’
head = {‘User-Agent’:user_agent}
html = requests.get(url, headers = head).text
return html
urllib2请求:
def loadContent(url):
”’
下载网页内容
”’
user_agent = ‘User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;’
headers = {‘User-Agent’:user_agent}
req = urllib2.Request(url, headers=headers)
request = urllib2.urlopen(req)
return request.read()