① 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代碼求教。
python代碼是查找域名對應的IP地址。向IP對應的伺服器發送請求。伺服器響應請求,發回網頁內容。瀏覽器解析網頁內容。urllib-網路庫(stdlib)。requests-網路庫。grab–網路庫(基於pycurl)。pycurl–網路庫(綁定libcurl)。」
③ 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讀取txt中的ip地址問題
ip = '123.58.230.224'
real_ip = open('aa.txt','r').read()
if ip == real_ip:
print 'OK'
else:
print 'not'
#open('','r')加個'r'表示讀取
⑤ 使用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))
⑥ python中,進行爬蟲抓取怎麼樣能夠使用代理IP
在python中用爬蟲再用到代理伺服器,有兩個辦法,①直接在布署該python爬蟲的電腦上設置代理伺服器,這樣從該電腦上出站的信息就只能由代理伺服器處理了,爬蟲的也不例外,可以搜"windows設置代理伺服器"、"linux設置代理伺服器"。通常是」設置->網路->連接->代理「。
②若想讓python單獨使用這個代理伺服器,可以搜一下"python proxy config","python配置代理伺服器",有一些庫支持簡單的BM代理伺服器連接。
⑦ python 正則表達式.*如何把ip地址提取出來
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importre
html='<bodystyle="margin:0px"><center>您的IP是:[42.120.74.89]來自:浙江省杭州市阿里雲</center></body></html>'
reg=re.compile(r'[(d{1,3}.d{1,3}.d{1,3}.d{1,3})]')
item=re.findall(reg,html)
printitem[0]
⑧ python使用Flask框架獲取用戶IP地址的方法
主要介紹了python使用Flask框架獲取用戶IP地址的方法,實例分析了Python使用Flask框架remote_addr獲取IP的`技巧,非常具有實用價值,需要的朋友可以參考下。
下面的代碼包含了html頁面和python代碼,非常詳細,如果你正使用Flask,也可以學習一下最基本的Flask使用方法。
python代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
if __name__ == '__main__':
app.run(
host="0.0.0.0",
port=int("80")
)
html代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html lang="en">
<head>
<link href="bootstrap/3.0.0/css/bootstrap.min.css"
rel="stylesheet">
</head>
<body>
<p class="container">
<p class="header">
<h3 class="text-muted">How To Get The IP Address Of The User</h3>
</p>
<hr/>
<p>
You IP address is: <strong>{{user_ip}}</strong>
<p class="header">
<h3 class="text-muted">Code to retrieve the IP</h3>
</p>
<hr/>
<pre>
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
</pre>
</p>
</p>
</body>
</html>
希望本文所述對大家的Python程序設計有所幫助。
⑨ MacOS 怎麼用Python3獲取當前用戶的IP地址
首先,你獲取的是什麼內網IP和公網IP沒有說清楚,如果是內網IP可以利用執行命令獲取的返回值來得到mac肯定有對應的命令,利用os.popen函數來執行命令,如果是公網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均測試通過