最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過python爬蟲mechanize庫(kù)爬取本機(jī)ip地址的方法

 更新時(shí)間:2022年08月26日 09:18:13   作者:仙草哥哥  
python中的mechanize算是一個(gè)比較古老的庫(kù)了,在python2的時(shí)代中,使用的多一些,在python3以后就很少使用了,現(xiàn)在已經(jīng)是2202年了,可能很多人都沒聽說(shuō)過mechanize,這不要緊,我們先來(lái)簡(jiǎn)單的講解一下,如何使用mechanize,感興趣的朋友一起看看吧

需求分析

最近,各平臺(tái)更新的ip屬地功能非常火爆,因此呢,也出現(xiàn)了許多新的網(wǎng)絡(luò)用語(yǔ),比如說(shuō)“xx加幾分”,“xx扣大分”等等,非常的有趣啊

可是呢,最近一個(gè)小伙伴和我說(shuō),“仙草哥哥,我也想查看一下自己的ip地址,可是我不會(huì)啊,我應(yīng)該怎么樣才能查看到自己的ip地址呢?”

關(guān)于如何查看自己的ip地址,這個(gè)我記得我在很早之前已經(jīng)寫過了,有興趣的話可以查看一下我的這篇文章,當(dāng)然這次呢,我會(huì)換一個(gè)復(fù)古的方式,使用mechanize進(jìn)行爬取

實(shí)現(xiàn)分析

python中的mechanize算是一個(gè)比較古老的庫(kù)了,在python2的時(shí)代中,使用的多一些,在python3以后就很少使用了,現(xiàn)在已經(jīng)是2202年了,可能很多人都沒聽說(shuō)過mechanize,這不要緊,我們先來(lái)簡(jiǎn)單的講解一下,如何使用mechanize

其實(shí),mechanize的使用方法,和內(nèi)置的urllib使用方法非常的相似,也就是說(shuō),只要你學(xué)會(huì)了如何使用urllib,那么就能夠順利的使用mechanize

首先,我們需要導(dǎo)入mechanize,并且創(chuàng)建一個(gè)Browser

import mechanize
browser = mechanize.Browser()

然后通過open方法,直接打開一個(gè)網(wǎng)址,這個(gè)和urllib中的設(shè)想都是一樣的,也就說(shuō),像打開本機(jī)文件那樣,輕松的打開一個(gè)遠(yuǎn)程的文件

file = br.open(url)

然后,我們需要通過read()方法,讀取這個(gè)文件中的內(nèi)容

content = file.read()

但是需要注意的是,和以二進(jìn)制的方法打開一個(gè)文件相似,通過read()讀取得到的內(nèi)容,是二進(jìn)制的形式,必須要通過decode()方法,進(jìn)行解碼

html = content.decode()

當(dāng)然,這個(gè)時(shí)候可能有的小伙伴要問了,默認(rèn)的user-agent是什么樣的呢?如何修改user-agent呢?其實(shí)使用mechanize的時(shí)候,設(shè)置user-agent并不困難,只需要通過addheaders就可以了

brower.addheaders = [("user-agent", "Mozilla/5.0")]

另外,別忘記了要設(shè)置是否遵守robots.txt協(xié)議,通過set_handle_robots()完成這項(xiàng)設(shè)置

brower.set_handle_robots(False)

這樣,我們的基本操作就已經(jīng)完成了,可以實(shí)際使用一下了

實(shí)際使用

比如說(shuō),我們通過mechanize發(fā)起一個(gè)請(qǐng)求

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("當(dāng)前請(qǐng)求頭:", r["headers"]["User-Agent"])

從這里,我們可以看出,使用mechanize發(fā)起請(qǐng)求的時(shí)候,默認(rèn)的請(qǐng)求頭就是urllib,也就是說(shuō),這段代碼實(shí)際上相當(dāng)于

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("當(dāng)前請(qǐng)求頭:", r["headers"]["User-Agent"])

完整代碼演示

那么,下面就是完整的通過mechanize查詢本機(jī)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("當(dāng)前請(qǐng)求頭:", r["headers"]["User-Agent"])
print("當(dāng)前ip地址:", r["origin"])

這個(gè)時(shí)候,可能有的小伙伴非常的困惑,查詢本機(jī)ip地址,那我不是直接通過百度搜索,搜索ip就行了嗎,為什么還需要自己寫程序呢?

嗯。。。好吧,我覺得你說(shuō)的也很對(duì),但是,你不覺得嘗試一下mechanize的使用超級(jí)酷嘛?

到此這篇關(guān)于通過python爬蟲mechanize庫(kù)爬取本機(jī)的ip地址的文章就介紹到這了,更多相關(guān)python爬蟲ip地址內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

正蓝旗| 太保市| 平泉县| 邹平县| 平乡县| 闻喜县| 无为县| 冷水江市| 朝阳县| 东兰县| 兴化市| 乌兰察布市| 洱源县| 临江市| 平阳县| 岑溪市| 洪洞县| 乡宁县| 盐津县| 娱乐| 巴彦县| 五常市| 团风县| 西贡区| 阿合奇县| 嘉峪关市| 治县。| 杭州市| 梅州市| 会东县| 阿拉尔市| 芜湖市| 赞皇县| 海伦市| 临海市| 景东| 嫩江县| 遂溪县| 澄城县| 三门县| 太康县|