python3獲取ip
❶ python 怎麼獲取本機的外網ip
>>> import socket
>>> hostname = socket.gethostname()
>>> print hostname
LuciferYang.local
>>> ip = socket.gethostbyname(hostname)
>>> print ip
10.101.8.171
>>> ipList = socket.gethostbyname_ex(hostname)
>>> print ipList
('luciferyang.local', [], ['10.101.8.171'])
理論上,不是伺服器的話不用有直接外網IP到機器,辦公室環境或者家庭環境都是區域網環境,外網IP都在路由器上面
❷ python 爬蟲 ip池怎麼做
無論是爬取IP,都能在本地設計動態代理IP池。這樣既方便使用,又可以提升工作效率。那麼怎麼在本地設計一個代理IP池呢?IPIDEA為大家簡述本地代理IP池的設計和日常維護。
代理IP獲取介面,如果是普通代理IP,使用ProxyGetter介面,從代理源網站抓取最新代理IP;如果是需耗費代理IP,一般都有提供獲取IP的API,會有一定的限制,比如每次提取多少個,提取間隔多少秒。
代理IP資料庫,用以存放在動態VPS上獲取到的代理IP,建議選擇SSDB。SSDB的性能很突出,與Redis基本相當了,Redis是內存型,容量問題是弱項,並且內存成本太高,SSDB針對這個弱點,使用硬碟存儲,使用Google高性能的存儲引擎LevelDB,適合大數據量處理並把性能優化到Redis級別。
代理IP檢驗計劃,代理IP具備時效性,過有效期就會失效,因此 需要去檢驗有效性。設置一個定時檢驗計劃,檢驗代理IP有效性,刪除無效IP、高延時IP,同時預警,當IP池裡的IP少於某個閾值時,根據代理IP獲取介面獲取新的IP。
代理IP池外部介面除代理撥號伺服器獲取的代理IP池,還需要設計一個外部介面,通過這個介面調用IP池裡的IP給爬蟲使用。代理IP池功能比較簡單,使用Flask就可以搞定。功能可以是給爬蟲提供get/delete/refresh等介面,方便爬蟲直接使用。
❸ python讀取txt中的ip地址問題
txt里有一個換行符可能會導致兩個字元串比較不相等,建議你用find 或者保證從txt中讀取的數據是沒有換行符等符號的
❹ MacOS 怎麼用Python3獲取當前用戶的IP地址
首先,你獲取的是什麼內網IP和公網IP沒有說清楚,如果是內網IP可以利用執行命令獲取的返回值來得到mac肯定有對應的命令,利用os.popen函數來執行命令,如果是公網IP隨便找一個介面然後請求一下就有返回值了,這玩意網路還找不到?
❺ 如何使用Python3讀取配置文件
完整示例
下面是一個完整的示常式序,他將生成一個IpConfig.ini的配置文件,再讀取文件中的數據,輸出到屏幕上。
#-*-coding:utf-8-*-
importconfigparser
#讀取配置文件
config=configparser.ConfigParser()
config.read("IpConfig.ini")
#寫入宿舍配置文件
try:
config.add_section("School")
config.set("School","IP","10.15.40.123")
config.set("School","Mask","255.255.255.0")
config.set("School","Gateway","10.15.40.1")
config.set("School","DNS","211.82.96.1")
exceptconfigparser.DuplicateSectionError:
print("Section'School'alreadyexists")
#寫入比賽配置文件
try:
config.add_section("Match")
config.set("Match","IP","172.17.29.120")
config.set("Match","Mask","255.255.255.0")
config.set("Match","Gateway","172.17.29.1")
config.set("Match","DNS","0.0.0.0")
exceptconfigparser.DuplicateSectionError:
print("Section'Match'alreadyexists")
#寫入配置文件
config.write(open("IpConfig.ini","w"))
ip=config.get("School","IP")
mask=config.get("School","mask")
gateway=config.get("School","Gateway")
dns=config.get("School","DNS")
print((ip,mask+" "+gateway,dns))
❻ python中,進行爬蟲抓取怎麼樣能夠使用代理IP
網路數據量越來越大,從網頁中獲取信息變得越來越困難,如何有效地抓取並利用信息,已成為網路爬蟲一個巨大的挑戰。下面IPIDEA為大家講明爬蟲代理IP的使用方法。
1.利用爬蟲腳本每天定時爬取代理網站上的ip,寫入MongoDB或者其他的資料庫中,這張表作為原始表。
2.使用之前需要做一步測試,就是測試這個ip是否有效,方法就是利用curl訪問一個網站查看返回值,需要創建一張新表,循環讀取原始表有效則插入,驗證之後將其從原始表中刪除,驗證的同時能夠利用響應時間來計算這個ip的質量,和最大使用次數,有一個演算法能夠參考一種基於連接代理優化管理的多線程網路爬蟲處理方法。
3.把有效的ip寫入ip代理池的配置文件,重新載入配置文件。
4.讓爬蟲程序去指定的dailiy的服務ip和埠,進行爬取。
❼ python怎麼獲取本機ip
importsocket
defget_ip():
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
try:
#doesn'tevenhavetobereachable
s.connect(('10.255.255.255',0))
IP=s.getsockname()[0]
except:
IP='127.0.0.1'
finally:
s.close()
returnIP
linux、windows均測試通過
❽ python怎樣獲取連接的IP的設備信息
以前是有這樣的工具,它會通過常用協議去刺探設備類型。比如windows的版本,計算機名等。現在不知道還有沒有這樣的工具,搜索一下看。
哦。這個應該相當容易了。因為相機是專業設備。所以通常會有一個控制協議。因為是專業的,所以這個socket應該是加密的。 你只需要連接上後,隨便發一個命令,如果被斷開。很可能就是這個相機了。
另外相機通常都是有MAC地址的。如果你發現它在你預計的MAC地址范圍內,也可以知道是它。 相機是專業抓拍的。通常不會放在互聯網上,應該是區域網。你可以排除區域網上的其它計算機,自然了也就知道哪些是相機了。
這些都不是難題。你首先掃描所有的IP地址。再掃描它們的埠數量。如果埠數量多通常是計算機,如果埠只有1-2個就是專業設備。掃描不到的,應該就是計算機啦。
試試,並不難。
❾ 使用Python獲取網頁上出現的所以IP地址,並保存到TXT文檔中,如何做到啊 。。。
假設文本放在在一個文本字元串里html, 如果你沒有獲得只有URL可以這樣
import urllib2, re
html=urllib2.urlibopen(url).read()
ips=re.findall("(?isu)\d+\.\d+\.\d+\.\d+",html)
if ips: open("ips.txt","wb").write("\r\n".join(ips))
❿ python3 判斷IP地址是否ping通
os.system(『comand』) 會執行括弧中的命令,如果命令成功執行,這條語句返回0,否則返回1。
要想得到標准輸出,可以使用os.popen(cmd)
import os
p=os.popen("ping 192.168.2.129")
x=p.read()
p.close()
if x.count('temeout'):
print("ping不通")
else:
print("ping通了")