python通过requests方式获取代理没有地址信息如何查询归属地原创文章

玩技站长 接口测试评论343字数 573阅读1分54秒阅读模式
问题描述:

好多代理商,在请求接口后没有返回响应的ip地址的归属地,那么我们进行自动化测试或者其他测试的时候无法判断ip地址会对我们的测试结果,不好判断归属地是哪里的,所以今天的方式就是直接将返回的结果查询出来直接通过www.ipdizhichaxun.com来查询ip地址的归属地。

python通过requests方式获取代理没有地址信息如何查询归属地插图文章源自玩技e族-https://www.playezu.com/761483.html

实现步骤:

第一步:使用request的urlopen来打开浏览器,地址为查询地址+实际返回的ip地址。这里我们可以使用之前写的文章来获取可以用代理的ip地址。文章源自玩技e族-https://www.playezu.com/761483.html

解决问题:(自动化测试不同ip地址访问) 因为现在大部分的代理提供商会提供大量的不可用代理,因为数量较大所以不会进行逐个测试...
238
url = f"http://www.ipdizhichaxun.com/?ip={ip_address}" 
response = urllib.request.urlopen(url)

第二步:获取读取到的网页数据html文章源自玩技e族-https://www.playezu.com/761483.html

html_content = response.read().decode("utf8") 
response.close()

第三步:截取查询结果所在的标签<span>(.*?)</span>使用正则匹配或者其他方法都可以。网页返回的结果为文章源自玩技e族-https://www.playezu.com/761483.html

<p class="result"><strong>IP地址查询结果:<span>211.100.xxx.xxx</span>,IP地址位置:<span>北京市(航天信息网)</span></strong></p>

开始截取:文章源自玩技e族-https://www.playezu.com/761483.html

ip_pattern = r'IP地址查询结果:<span>(.*?)</span>' address_pattern = r'IP地址位置:<span>(.*?)</span>'

第四步:添加是否判断有返回结果文章源自玩技e族-https://www.playezu.com/761483.html

ip_match = re.search(ip_pattern, html_content)
        address_match = re.search(address_pattern, html_content)

        if ip_match and address_match:
            ip = ip_match.group(1)
            address = address_match.group(1)
            return [ip, address]
        else:
            print("未能成功提取 IP 地址查询结果或 IP 地址位置。")
            return None

第五步:添加try和except的方式,完整代码展示。文章源自玩技e族-https://www.playezu.com/761483.html

评论后查看
原创不易此内容为****隐藏内容****评论后,刷新页面即可查看
文章源自玩技e族-https://www.playezu.com/761483.html文章源自玩技e族-https://www.playezu.com/761483.html
 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证