通过python爬虫mechanize库爬取本机ip地址的方法
需求分析
实现分析
实际使用
完整代码演示
需求分析最近,各平台更新的ip属地功能非常火爆,因此呢,也出现了许多新的网络用语,比如说“xx加几分”,“xx扣大分”等等,非常的有趣啊
可是呢,最近一个小伙伴和我说,“仙草哥哥,我也想查看一下自己的ip地址,可是我不会啊,我应该怎么样才能查看到自己的ip地址呢?”
关于如何查看自己的ip地址,这个我记得我在很早之前已经写过了,有兴趣的话可以查看一下我的这篇文章,当然这次呢,我会换一个复古的方式,使用mechanize进行爬取
实现分析python中的mechanize算是一个比较古老的库了,在python2的时代中,使用的多一些,在python3以后就很少使用了,现在已经是2202年了,可能很多人都没听说过mechanize,这不要紧,我们先来简单的讲解一下,如何使用mechanize
其实,mechanize的使用方法,和内置的urllib使用方法非常的相似,也就是说,只要你学会了如何使用urllib,那么就能够顺利的使用mechanize
首先,我们需要导入mechanize,并且创建一个Browser
import mechanize
browser = mechanize.Browser()
然后通过open方法,直接打开一个网址,这个和urllib中的设想都是一样的,也就说,像打开本机文件那样,轻松的打开一个远程的文件
file = br.open(url)
然后,我们需要通过read()方法,读取这个文件中的内容
content = file.read()
但是需要注意的是,和以二进制的方法打开一个文件相似,通过read()读取得到的内容,是二进制的形式,必须要通过decode()方法,进行解码
html = content.decode()
当然,这个时候可能有的小伙伴要问了,默认的user-agent是什么样的呢?如何修改user-agent呢?其实使用mechanize的时候,设置user-agent并不困难,只需要通过addheaders就可以了
brower.addheaders = [("user-agent", "Mozilla/5.0")]
另外,别忘记了要设置是否遵守robots.txt协议,通过set_handle_robots()完成这项设置
brower.set_handle_robots(False)
这样,我们的基本操作就已经完成了,可以实际使用一下了
实际使用比如说,我们通过mechanize发起一个请求
import mechanize
import json
from base64 import b64decode
br = mechanize.Browser()
url = b64decode("aHR0cDovL2h0dHBiaW4ub3JnL2dldA==").decode()
r = br.open(url).read().decode()
r = json.loads(r)
print("当前请求头:", r["headers"]["User-Agent"])
从这里,我们可以看出,使用mechanize发起请求的时候,默认的请求头就是urllib,也就是说,这段代码实际上相当于
import json
from urllib.request import urlopen
from base64 import b64decode
url = b64decode("aHR0cDovL2h0dHBiaW4ub3JnL2dldA==").decode()
r = urlopen(url).read().decode()
r = json.loads(r)
print("当前请求头:", r["headers"]["User-Agent"])
完整代码演示
那么,下面就是完整的通过mechanize查询本机ip地址的方法
import mechanize
import json
from base64 import b64decode
br = mechanize.Browser()
br.addheaders = [("user-agent", "Mozilla/5.0")]
br.set_handle_robots(False)
url = b64decode("aHR0cDovL2h0dHBiaW4ub3JnL2dldA==").decode()
r = br.open(url).read().decode()
r = json.loads(r)
print("当前请求头:", r["headers"]["User-Agent"])
print("当前ip地址:", r["origin"])
这个时候,可能有的小伙伴非常的困惑,查询本机ip地址,那我不是直接通过百度搜索,搜索ip就行了吗,为什么还需要自己写程序呢?
嗯。。。好吧,我觉得你说的也很对,但是,你不觉得尝试一下mechanize的使用超级酷嘛?
到此这篇关于通过python爬虫mechanize库爬取本机的ip地址的文章就介绍到这了,更多相关python爬虫ip地址内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!
相关内容
-
win10多任务按键怎么设置在底部详细方法
win10多任务按键怎么设置在底部详细方法,按键,任务,在使用电脑...
-
电脑密码号怎么输入不了|电脑密码号怎么输入不
电脑密码号怎么输入不了|电脑密码号怎么输入不了字母,,电脑密...
-
电脑虚拟键盘快捷键|电脑虚拟键盘快捷键是哪个
电脑虚拟键盘快捷键|电脑虚拟键盘快捷键是哪个,,电脑虚拟键盘...
-
i3/i5的劲敌A8-3870K黑盒版
i3/i5的劲敌A8-3870K黑盒版,,在a6-3670k评价,我们觉得超频系列G...
-
华硕电脑系统win10|华硕电脑系统win10系统
华硕电脑系统win10|华硕电脑系统win10系统,,华硕电脑系统win10...
-
怎么设置电脑桌面|怎么设置电脑桌面壁纸
怎么设置电脑桌面|怎么设置电脑桌面壁纸,,怎么设置电脑桌面壁...
-
电脑测试手机的软件|电脑上测试手机用什么软件
电脑测试手机的软件|电脑上测试手机用什么软件好,,电脑上测试...
-
怎么用麦克风在电脑上唱歌|电脑如何用麦克风唱
怎么用麦克风在电脑上唱歌|电脑如何用麦克风唱歌,,1. 电脑如何...
-
678元的索泰zt-h55d3-m1dh主板
678元的索泰zt-h55d3-m1dh主板,,近日,索泰zt-h55d3-m1dh主板已...
-
键盘上的快捷键截图|电脑键盘上的截图快捷键
键盘上的快捷键截图|电脑键盘上的截图快捷键,,1. 电脑键盘上的...
-
学习写字楼新选择6000元主流配置
学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办...
-
电脑麦克风说不了话了|电脑内置麦克风说不了话
电脑麦克风说不了话了|电脑内置麦克风说不了话怎么办,,1. 电脑...
-
硬盘库存迫切需要通过西方数据,三星已经停止向零
硬盘库存迫切需要通过西方数据,三星已经停止向零售商发送硬盘...
-
三千元推荐买什么笔记本电脑,打英雄联盟不卡很流
三千元推荐买什么笔记本电脑,打英雄联盟不卡很流畅,不玩吃鸡,笔...
-
金蝶专业版审核以前期间的单据
金蝶专业版审核以前期间的单据,,1.之前会计是手工做账,现在是...