很多新手朋友不知道requests如何使用代理IP进行爬虫工作,今天来简单的说一下。站大爷代理IP有两种授权方式,分别是终端IP授权和“用户名+密码“授权,使用方法也各不相同,以短效优质代理IP为例。
一、终端IP授权(绑定IP白名单)
登录后台,在左侧的实例管理下,找到短效优质代理,确认“当前授权模式为”为“终端IP授权”,在最右侧的管理下,单击“绑定终端IP”,绑定使用代理的终端的公网IP,然后生成提取链接,以下是部分简略测试代码,仅供参考。
import requests test_url = "******" # 访问的目标网站 api_url = "****" # 站大爷后台生成的API提取链接 headers = {"******"} # 构建请求头,比如 User-Agent,Referer,Params,Cookie等信息 resp1 = request.get(api_url).text proxy_list = resp.split('\r\n') # 这里的API提取链接是返回的text文本格式,以\r\n分割 获取IP列表,还可以返回JSON,XML格式 for proxy in proxy_list: resp2 = request.get(test_url,headers=headers, proxies=proxy) # 请求加上请求头,加上代理 # 接下来就是对返回的结果进行解析提取,这里就不再多说了
二、“用户名+密码”授权
登录后台,在左侧的实例管理下,找到短效优质代理,确认“当前授权模式为”为“用户名+密码”,若不是,则单击“切换”,用户名为实例ID,密码为8位数字的产品密码(很多用户会把网站登录的用户名密码当成代理IP的用户名密码,还有人把8位数字的产品密码进行md5加密,这些都不正确)在最右侧的管理下,生成提取链接,以下是部分简略测试代码,仅供参考。
import requests test_url = "******" # 访问的目标网站 api_url = "****" # 站大爷后台生成的API提取链接 headers = {"******"} # 构建请求头,比如 User-Agent,Referer,Params,Cookie等信息 resp1 = request.get(api_url).text proxy_list = resp.split('\r\n') # 这里的API提取链接是返回的text文本格式,以\r\n分割 获取IP列表,还可以返回JSON,XML格式 for proxy in proxy_list: proxies = { 'http': 'http://用户名 :密码@'+proxy, # 这里要加上用户名和密码,注意访问http网站和https网站的区别 'https': 'http://用户名:密码@' + proxy # 很多人会在这一步出错 } resp2 = request.get(test_url,headers=headers, proxies=proxies ) # 请求加上请求头,加上代理 # 接下来就是对返回的结果进行解析提取,这里就不再多说了
以上就是requests如何使用代理IP进行爬虫工作的方法,终端IP授权模式下问题不大,“用户名+密码”授权模式下,有很多人不会使用,还有很多人忽略http和https的区别,希望这篇文章对大家有所帮助。