爬虫在当今网络流行的今天已经成为很多人耳熟能详的一个词,它依托于脚本文件,开发人员根据一定逻辑编写代码,使之按照预定规则进行万维网信息抓取。
网络爬虫实际上是利用脚本在短时间内对大量网页进行访问,追踪脚本指定特定目标,抓取信息。但因为浏览器对同一IP地址在固定时间访问频率有限制,限制为防止服务器运行压力过大出错。这时候, 为解除限制,很快获得数据,代理IP成为网络爬虫的优先选择。ISPKEY海外代理拥有海量动态住宅IP,IP代理池遍布全球范围,能够为网络爬虫程序提供强大的技术支撑。
IP代理为网络爬虫提供灵活性IP地址,通过不断更换IP地址,防止出触动服务器的反爬虫机制,具体如下。
获取地址和端口号,这里提到是获取API链接IP地址
def get_ip_list():
url=”XXX”
resp=requests.get(url)
//提取页面数据
resp_json=resp.text
将JSON字符串数据转化为字典
resp_dict=json.loads(resp_json)
ip_dict_list=resp_dict.get(‘data’)
将data字符串中数据取出
return ip_dict_list
有部分非IP白名单的IP需要用户密码验证,API链接会对用户名与密码进行加密,有需要书写代码验证加密。
向目标网址发送请求,获取相关数据。成功则访问响应信息,失败则打印结果
def spider_ip(ip_port,url): //真正要请求的url地址
headers1 = {
"User-Agent": 'XXX'
//浏览器信息
}
headers = {
'Proxy-Authorization': 'Basic %s' % (base_code(username, password))
//用户名+密码
}
//代理IP地址放到proxy参数中
proxy = {
'http':'http://{}'.format(ip_port)
}
//发送网络请求
请求成功
try:
reap = requests.get(url,proxies=proxy,headers=headers,headers1=headers1)
//解析访问数据
result = reap.text
//发送失败,打印此代理失效
except:
result = '此代理失效'
本文介绍就到这里,更多IP资讯敬请期待下文。