python:浏览器的两种伪装方法

测试环境:
ubantu18.04,python3.6
1.使用opener

import urllib.request
url0 = “http://www.baidu.com/”
headers0 = (“User-Agent”,“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
opener0 = urllib.request.build_opener()
opener0.addheaders = [headers0]
urllib.request.install_opener(opener0)
data0 = opener0.open(url0).read().decode(“utf-8”)
#data1=urllib.request.urlopen(url0).read().decode(“utf-8”)
print(len(data0))
120349

2.使用request

import urllib.request
url1 = “http://www.baidu.com/”
req0 = urllib.request.Request(url1)
req0.add_header(“User-Agent”,“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
data2 = urllib.request.urlopen(req0).read().decode(“utf-8”,“ignore”)
print(len(data2))
120628

3.推荐用法
import urllib.request
url2 = “http://www.baidu.com/”
headers2 = {“User-Agent”:“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”,
“Content-Type”:“application/javascript”,
}
opener2 = urllib.request.build_opener()
headerall = []
for key,value in headers2.items():
item = (key,value)
headerall.append(item)
opener2.addheaders = headerall
urllib.request.install_opener(opener2)
data2 = urllib.request.urlopen(url2).read().decode(“utf-8”,“ignore”)
#data2 = opener2.open(url2).read().decode(“utf-8”,“ignore”)
print(len(data2))

你可能感兴趣的:(python:浏览器的两种伪装方法)