有两种方式

设置代理

  1. import urllib.request as libRequest
  2. import urllib.parse as parse
  3. import ssl
  4. import json
  5. import time
  6. import random
  7. ssl._create_default_https_context = ssl._create_unverified_context
  8. # http://pv.sohu.com/cityjson?ie=utf-8
  9. # 182.34.35.141:9999
  10. url = 'http://pv.sohu.com/cityjson?ie=utf-8'
  11. # 打开一个 URL , 获得一个 URL 资源
  12. data = {}
  13. # 代理 ip 列表
  14. ipList = [
  15. '182.111.199.224:8118',
  16. '39.137.107.98:80',
  17. '39.137.69.10:80',
  18. '221.180.170.104',
  19. ]
  20. # 请求头
  21. head = {
  22. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 '
  23. 'Safari/537.36'
  24. }
  25. # 设置代理
  26. proxySupport = libRequest.ProxyHandler({'http': random.choice(ipList)})
  27. opener = libRequest.build_opener(proxySupport)
  28. libRequest.install_opener(opener)
  29. # 发起请求
  30. request = libRequest.Request(url = url, headers = head)
  31. res = libRequest.urlopen(request)
  32. htmlContent = res.read().decode('utf-8')
  33. print(htmlContent)

或者

  1. import urllib.request as lib_request
  2. from useragent.useragent import get_useragent
  3. import json
  4. import ssl
  5. ssl._create_default_https_context = ssl._create_unverified_context
  6. url = 'http://httpbin.org/get'
  7. headers = {
  8. 'User-Agent': get_useragent()
  9. }
  10. #设置代理
  11. proxy_support = lib_request.ProxyHandler({'http': '223.100.166.3:36945'})
  12. opener = lib_request.build_opener(proxy_support)
  13. # 获得一个 request
  14. request = lib_request.Request(url = url, headers = headers)
  15. # 发起请求
  16. response = opener.open(request)
  17. # reqOpen = lib_request.urlopen(request)
  18. # 打印结果
  19. print(json.loads(response.read().decode()))