IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

使用动态IP代理爬取网站的都是哪些爬虫(二)

发布时间:2019年04月26日 来源:互联网

  使用动态IP代理爬取网站的都是哪些爬虫(二)这里是黑洞代理IP代理小编带来的使用动态IP代理爬取网站的都是哪些爬虫第二篇。


使用动态IP代理爬取网站的都是哪些爬虫(二)


  核心代码实现示例:ProxyWebsite


  class ProxyWebsite(object):


  def __init__(self, url, pattern, ip_pos, port_pos):


  self.url = url


  self.pattern = pattern


  self.ip_pos = ip_pos


  self.port_pos = port_pos


  Crawler


  class Crawler(object):


  @staticmethod


  def get_html(proxy_website):


  try:


  rsp = requests.get(proxy_website.url)


  return (0, rsp.text)


  except Exception as e:


  return (-1, e)


  Extrator


  class Extractor(object):


  @staticmethod


  def get_data(proxy_website, html):


  try:


  pattern = re.compile(proxy_website.pattern, re.M|re.S )


  return  map(lambda x:(x[proxy_website.ip_pos], x[proxy_website.port_pos]), pattern.findall(html))


  except Exception as e:


  return (-1, e)Data class Data(object):


  def __init__(self, ip, port, http_enable, https_enable):


  self.ip = ip


  self.port = port


  self.http_enable = http_enable


  self.https_enable = https_enableValidator class Validator(object):


  @staticmethod


  def get_baidu(ip, port):


  try:


  proxies = {'http': 'http://%s:%s' %(ip, port), 'https': 'http://%s:%s' %(ip, port)}


  http_valid_result  = False


  rsp = requests.get('http://www.baidu.com', proxies = proxies, verify=False, timeout=(10, 60))


  if rsp.status_code == 200:


  http_valid_result  = True


  rsp = requests.get('https://www.baidu.com', proxies = proxies, verify=False, timeout=(10, 60))


  if rsp.status_code == 200:


  https_valid_result  = True


  return (0, (http_valid_result, https_valid_result))


  except Exception as e:


  return (-1, e)


相关文章内容简介

1 使用动态IP代理爬取网站的都是哪些爬虫(二)

  使用动态IP代理爬取网站的都是哪些爬虫(二)这里是黑洞代理IP代理小编带来的使用动态IP代理爬取网站的都是哪些爬虫第二篇。  核心代码实现示例:ProxyWebsite  class ProxyWebsite(object):  def __init__(self, url, pattern, ip_pos, port_pos):  self.url = url  self.pattern = pattern  self.ip_pos = ip_pos  self.port_pos = port_pos  Crawler  class Crawler(object):  @staticmethod  def get_html(proxy_website):  try:  rsp = requests.get(proxy_website.url)  return (0, rsp.text [阅读全文]

热门标签

最新标签

推荐阅读

  1. 22

    2019-03

    HTTP代理怎么维护网络安全?

    伴随着互联网科技行业的飞速发展,网络生活早已成为人类日常工作生活不可分割的重要组成部分。现在人们日常购物离不开移动支付和电子商务,日常交流也离不开即时通讯。可以说互联网不

  2. 30

    2019-07

    网络爬虫不用代理IP会被封吗

    网络爬虫大家都知道是抓取数据的程序,很多人都说爬虫需要用代理IP才能不被封IP。那么,网络爬虫不用代理IP会被封吗?

  3. 17

    2019-07

    免费代理IP的安全性有保障吗?

    代理IP就是来代替用户的IP进行访问,代理IP分为普通代理ip、透明代理ip、高匿代理ip,免费代理肯定使用的是透明代理或普通代理,对个人信息是无法起到保护作用的。

  4. 21

    2019-05

    为什么同样的代理IP有时效果却不一样

    有些用户反映,在使用IP代理的过程中有时候会遇到这样的情况,即使用同样质量的一批不同的IP代理加上相同的策略访问同一个网站,有的成功有的失败,这是为什么呢?

  5. 10

    2019-04

    动态ip和静态ip有什么区别?对于虚拟ip又有什么不同?

    动态ip——顾名思义,就是用户每一次上网时,会随机分配一个IP地址,比如用手机的流量上网,IP地址是从运营商处临时获取的,两次流量上网使用的IP可能会不一样。

  6. 25

    2019-04

    使用高匿代理IP怎样完全不暴露本机身份?

    高匿IP理论上不会暴露你的本机身份的,这是由高匿IP的属性决定的: