Python爬虫允许访问公开数据安全访问公开数据的策略

在python爬虫方面的应该中,需要全球住宅IP,高效采集公开数据iP的场景是经常的事情。而这个时候爬虫代理ip就派上用场了。他的好处是非常多的。不仅能防止ip无法访问公开数据,而且能减少许多人工方面的工作。节省更多的营销成本。

 

对于Python爬虫来说,有哪些常见的反访问策略呢?IPIDEA全球IP为大家简单的讲一下。


 1.192.png


一、设置等待时间

 

很多访问策略都包含了检测访问频率,一旦发现了超人类访问速度,既然如此,可以模仿人工访问频率。

 

1、显性等待时间

 

import time#导入包time.sleep(3)#设置时间间隔为3秒

 

2、隐式等待时间

 

wait1.until(lambda driver: driver.find_element_by_xpath("//div[@id='link-report']/span"))

 

二、修改请求头

 

识别是机器人还是浏览器浏览的一个重要依据就是User-Agent,不同的浏览器有不同的User-Agent。

 

import urllib2req=urllib2.Request(url)#多了以下一这一步而已

 

req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36')response=urllib2.urlopen(req)

 

三、使用代理IP比如使用IPIDEA全球代理

 

当拥有足够多的代理IP后,就不需担心会被允许采集公开数据

 

# -*- coding: utf-8 -*-

 

import urllib2

 

url=" www.ip181.com/"proxy_support=urllib2.ProxyHandler({'http':'121.40.108.76'})

 

#参数是一个字典{'类型':'代理ip:端口号'}

opener=urllib2.build_opener(proxy_support)

 

#定制opener

 

opener.add_handler=[('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36')]

 

#add_handler给加上保护安全访问

 

urllib2.install_opener(opener)response=urllib2.urlopen(url)print response.read().decode('gbk')

 

四、进行模拟登陆

 

一般用Selenium,可以结合Firefox或者是无头浏览器PhantomJS,这个做的东西比较多了。

 


声明:本文来自网络投稿,不代表IPIDEA立场,若存在侵权、安全合规问题,请及时联系IPIDEA进行删除。

上一篇:爬虫IP如何防止无法访问公开数据

下一篇:动态IP的使用能实现哪些功能