问题描述:
好多代理商,在请求接口后没有返回响应的ip地址的归属地,那么我们进行自动化测试或者其他测试的时候无法判断ip地址会对我们的测试结果,不好判断归属地是哪里的,所以今天的方式就是直接将返回的结果查询出来直接通过www.ipdizhichaxun.com来查询ip地址的归属地。
文章源自玩技e族-https://www.playezu.com/761483.html
实现步骤:
第一步:使用request的urlopen来打开浏览器,地址为查询地址+实际返回的ip地址。这里我们可以使用之前写的文章来获取可以用代理的ip地址。文章源自玩技e族-https://www.playezu.com/761483.html
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
评论后查看
原创不易此内容为****隐藏内容****评论后,刷新页面即可查看
评论