爬虫在当今网络流行的今天已经成为很多人耳熟能详的一个词,它依托于脚本文件,开发人员根据一定逻辑编写代码,使之按照预定规则进行万维网信息抓取。


网络爬虫实际上是利用脚本在短时间内对大量网页进行访问,追踪脚本指定特定目标,抓取信息。但因为浏览器对同一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资讯敬请期待下文。

[email protected]