大蟒蛇python教程共享python爬取免费代理并验证代理是否可用

分享一个python脚本,使用代理ip来访问网页,方便抓取数据什么的~并自动验证ip是否可以用

什么情况下会用到代理ip?比如你要抓取一个网站数据,该网站有100万条内容,他们做了ip限制,每个ip每小时只能抓1000条,如果单个ip去抓因为受限,需要40天左右才能采集完,如果用了代理ip,不停的切换ip,就可以突破每小时1000条的频率限制,从而提高效率。

脚本开始:

import requests  from lxml import etree  # 获取快代理首页的代理  def get_proxy_list():      url = "https://www.jxmtjt.com/"      payload = {}      headers = {          "user-agent": "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/75.0.3770.100 safari/537.36",          'accept': 'application/json, text/javascript, */*; q=0.01',      }      response = requests.request("get", url, headers=headers, data=payload)      res = []      _ = etree.html(response.text)      type_dct = {          "http": "https://",          "https": "https://"      }      data_list = _.xpath("//tbody/tr")      for data in data_list:          ip = data.xpath("./td[1]/text()")[0]          port = data.xpath("./td[2]/text()")[0]          type = data.xpath("./td[4]/text()")[0]          res.append(type_dct[type] + ip + ':' + port)      return res  # 测试代理  def check(proxy):      href = 'https://www.baidu.com/'      if 'https' in proxy:          proxies = {'https': proxy}      else:          proxies = {'http': proxy}      headers = {          'user-agent': 'mozilla/5.0 (macintosh; intel mac os x 11_2_2) applewebkit/537.36 (khtml, like gecko) chrome/90.0.4396.0 safari/537.36'      }      try:          r = requests.get(href, proxies=proxies, timeout=5, headers=headers)          if r.status_code == 200:              return true      except:          return false  if __name__ == '__main__':      proxy_list = get_proxy_list()      print(proxy_list)      for p in proxy_list:          print(p, check(p))  大家代码复制后,把获取代理ip的网址改一改就可以用了,代码我一直在用,大家也可以cnblogs,百度搜索一下有没有免费的代理ip获取网址~

到此这篇关于python爬取免费代理并验证是否可用的文章就介绍到这了,更多相关python爬取免费代理内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多python教程分享python爬取免费代理并验证代理是否可用,都可以关注python教程分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/pythontutorial/1024269.html

(0)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐