Python爬虫允许访问公开数据安全访问公开数据的策略
2021-02-03
在python爬虫方面的应该中,需要全球住宅IP,高效采集公开数据iP的场景是经常的事情。而这个时候爬虫代理ip就派上用场了。他的好处是非常多的。不仅能防止ip无法访问公开数据,而且能减少许多人工方面的工作。节省更多的营销成本。
对于Python爬虫来说,有哪些常见的反访问策略呢?IPIDEA全球IP为大家简单的讲一下。
一、设置等待时间
很多访问策略都包含了检测访问频率,一旦发现了超人类访问速度,既然如此,可以模仿人工访问频率。
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的使用能实现哪些功能