① 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均测试通过