有两种方式
设置代理
import urllib.request as libRequestimport urllib.parse as parseimport sslimport jsonimport timeimport randomssl._create_default_https_context = ssl._create_unverified_context# http://pv.sohu.com/cityjson?ie=utf-8# 182.34.35.141:9999url = 'http://pv.sohu.com/cityjson?ie=utf-8'# 打开一个 URL , 获得一个 URL 资源data = {}# 代理 ip 列表ipList = [ '182.111.199.224:8118', '39.137.107.98:80', '39.137.69.10:80', '221.180.170.104',]# 请求头head = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 ' 'Safari/537.36'}# 设置代理proxySupport = libRequest.ProxyHandler({'http': random.choice(ipList)})opener = libRequest.build_opener(proxySupport)libRequest.install_opener(opener)# 发起请求request = libRequest.Request(url = url, headers = head)res = libRequest.urlopen(request)htmlContent = res.read().decode('utf-8')print(htmlContent)
或者
import urllib.request as lib_requestfrom useragent.useragent import get_useragentimport jsonimport sslssl._create_default_https_context = ssl._create_unverified_contexturl = 'http://httpbin.org/get'headers = { 'User-Agent': get_useragent()}#设置代理proxy_support = lib_request.ProxyHandler({'http': '223.100.166.3:36945'})opener = lib_request.build_opener(proxy_support)# 获得一个 requestrequest = lib_request.Request(url = url, headers = headers)# 发起请求response = opener.open(request)# reqOpen = lib_request.urlopen(request)# 打印结果print(json.loads(response.read().decode()))