学习使用pyquery的用例:

# 此还需要优化(网站存在反爬虫机制,有时会失效)

import urllib
import urllib.parse
import urllib.request
from pyquery import PyQuery as pqdef get_myip():# ip138.com中使用iframe,这里先获得iframe中的src# 每年iframe中的地址会变,比如 2019.ip138.com 2022.ip138.com# 不增头信息,访问ip138.com失败# 这里用iphone7 的头headers = ("User-Agent","Mozilla/5.0 (Linux;U;Android 2.3;en-us;Nexus One Build/FRF91)AppleWebKit/999+(KHTML, like Gecko)Version/4.0 Mobile Safari/999.9")# headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}opener = urllib.request.build_opener()opener.addheaders = [headers]data = opener.open("https://ip138.com")# data = opener.open("http://ip138.com")doc = pq(data.read())# 获得 iframe 标签的 src 属性的值# 获得出来大概是这样 "//2022.ip138.com/"# 再去掉两头多余的 "/"  就获得到实际的显示地址了url = "http://" + doc('iframe').eq(0).attr('src').replace('/', '')# print(url)opener.close()# 获取ip地址opener = urllib.request.build_opener()opener.addheaders = [headers]data = opener.open(url)doc = pq(data.read().decode('utf8'))# 取得素有的 <a> 元素list1 = doc('body p a')return list1;if __name__ == '__main__':lists = get_myip();# 取得第一个<a> 元素my_ip = lists.eq(0).text();ip_address = str(lists.eq(1)).split("来自:")[1];print("my_ip:",my_ip);print("ip_address:",ip_address)

运行结果:

my_ip: 117.151.77.3
ip_address: 中国湖北武汉 移动

python使用www.ip138.com作为解析对象 获取公网ip及ip所属地区相关推荐

  1. python 获取公网 外网 ip 几种方式

    实例如下: from urllib.request import urlopen from json import loadmy_ip = urlopen('http://ip.42.pl/raw') ...

  2. Python培训分享:Python内置标准异常及其解析

    本期小编为大家带来的Python培训教程是关于"Python内置标准异常及其解析"的内容,我们都知道,在Python技术运作下,总会出现一些Python无法正常处理的程序时就会发生 ...

  3. python中if __name__ == '__main__': 的解析

    2019独角兽企业重金招聘Python工程师标准>>> python中if __name__ == '__main__': 的解析 当你打开一个.py文件时,经常会在代码的最下面看到 ...

  4. python legb_Python变量作用域LEGB用法解析

    这篇文章主要介绍了Python变量作用域LEGB用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 闭包就是, 函数内部嵌套函数. 而 装饰器只 ...

  5. Python基础(六)--类与对象

    目录 Python基础(六)--类与对象 1 类与对象的基本概念 1.1 什么是对象 1.2 什么是类 1.3 类与对象的关系 2 定义与初始化 2.1 类的定义 2.2 对象的初始化 2.3 动态增 ...

  6. OC中解析对象(json)

    2019独角兽企业重金招聘Python工程师标准>>> 解析对象(json) 1.大括号代表字典 2.中括号(小括号)代表数组 3.冒号的左右两边分别为键和值(key:value) ...

  7. Python 源码学习:类型和对象

    Python 是一门解释型,动态类型,多范式的编程语言,当我们从 python.org 下载并安装运行 Python 的某个分发版本时,我们实际上是在运行由 C 语言编写的 CPython ,除此之外 ...

  8. 上海交通大学python期末考试样题加解析_上海交通大学python期末考试样题加解析...

    <上海交通大学python期末考试样题加解析>由会员分享,可在线阅读,更多相关<上海交通大学python期末考试样题加解析(7页珍藏版)>请在人人文库网上搜索. 1.升够上伙归 ...

  9. 小白IT:从0~明白带你体验python中做上帝感觉--一切皆对象,处处是多态——面向对象

    文章目录 Python 面向对象从0到基础 一.面向对象 1 面向过程VS面向对象** 2 了解一些名词: 3 类 类的声明 **类的作用:属性引用和实例化** **定义函数和类的区别** 类属性的查 ...

  10. python爬虫 模拟登录人人网过程解析

    这篇文章主要介绍了python爬虫 模拟登录人人网过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 equests 提供了一个叫做sessio ...

最新文章

  1. 学习笔记:数据分析和处理(ML计算模型前的预处理)——持续更新
  2. 过滤内容字段_巧用参数组件和过滤组件,教你快速定位目标数据
  3. 简说创业公司的技术选型,从BearyChat的开发说起
  4. 用extjs4做个登录框
  5. php 输出json utf8,php json_encode utf-8中文问题
  6. 小程序修改数组中对象的某个值或者修改对象值
  7. js self = this的解释
  8. 【转】Linux内核报文收发
  9. C#对Windows服务组的启动与停止
  10. 403 常见原因 java_科普 httpClient 403 Forbidden (JAVA方向分析)
  11. Win10 专业版激活!
  12. Android 屏幕画笔实现
  13. docker搭建pgadmin并挂载
  14. 《YUI 3 Cookbook 中文版》
  15. 动易CMS粘贴word图片且图片文件自动上传功能
  16. 学习笔记(26):NumPy数据分析-NumPy 统计函数-var方差
  17. 保护眼睛缓解疲劳的方法(常用电脑的朋友)
  18. xposed+justtrustme
  19. Katalon Studio:一款静候你使用的免费自动化测试工具
  20. n个单词输入次数 c语言,C语言问题,从键盘输入n个英语单词.输入格式为n,w1,w2,w3…wn,其中n表示随后输入的英语...

热门文章

  1. Macs Fan Control 官方正版中文网站 控制苹果电脑上风扇工具软件
  2. vscode中显示隐藏文件
  3. svg图标如何修改大小?
  4. 如何修复老照片,Bringing-Old-Photos-Back-to-Life机器学习开源项目安装使用 | 机器学习
  5. 设计模式(一):工厂模式
  6. ip pssql 登录写法_plsql 连接远程服务器数据库无法登录
  7. 控制服务器系统,控制服务器操作系统
  8. Cisco Aironet系列AP的瘦胖转换
  9. 微软晓晓朗读录音工具windows-文字转语音
  10. 异度之刃2 任务打杂店的帮手去哪获取纯洁石