当前位置:首页 » 编程语言 » python更换ip

python更换ip

发布时间: 2023-06-06 21:56:53

python 爬虫ip被封锁怎么办

从程序本身是无法解决的。
有两个办法:
(1)自己装几个虚拟机,分别不同IP在上面跑爬虫的时候频率别太高了,加个过程里加个 time.sleep(1)或(2),通常情况只要频率不是太高是无法区别是正常阅读还是爬东西的。

(2)找proxy用代理,respose发现异常就换IP

❷ python接口怎么设置IP地址

使方法一、用IP138数据库查询域名或IP地址对应的地理位置。
?#-*- coding:gbk -*-import urllib2import re try: while True: ipaddr = raw_input("Enter IP Or Domain Name:") if ipaddr == "" or ipaddr == 'exit': break else: url = "http://www.ip138.com/ips138.asp?ip=%s&action=2" % ipaddr u = urllib2.urlopen(url) s = u.read() #Get IP Address ip = re.findall(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',s) print "\n****** Below Result From IP138 Database *****" print "IP Address:",ip[0] #Get IP Address Location result = re.findall(r'(<li>.*?</li>)',s) for i in result: print i[4:-5] print "*"*45 print "\n" except: print "Not Data Find"

方法二、本来想调用阿里的ip接口查询ip归属地。结果发现阿里的接口非常不给力,主要是不准确,不过是免费的且有地区和ISP的信息。以下是实现代码

❸ 如何处理python爬虫ip被封

当python爬虫IP被封可用以下这几种方法:
1、放慢爬取速度,减少对于目标网站带来的压力,但会减少单位时间类的爬取量。
2、伪造cookies,若从浏览器中能够 正常访问一个页面,则可以将浏览器中的cookies复制过来使用
3、伪造User-Agent,在请求头中把User-Agent设置成浏览器中的User-Agent,来伪造浏览器访问。
4、使用代理IP,使用代理IP之后能够 让网络爬虫伪装自己的真实IP。
对于python网络爬虫来说,有时候业务量繁重,分布式爬虫是最佳的增强效率方式,而分布式爬虫又急切需要数目众多的IP资源,这一点免费IP是满足不了的,并且免费代理一般不提供高匿名的代理IP,因此不建议大家使用免费的代理IP。为了节约前期成本费而使用免费ip代理,最终只会因为免费ip的劣质而导致苦不堪言,反倒得不偿失。使用代理商代理IP可以有效的保障网络的安全,在IP被封的情况下可以有充足的IP可以进行更换,保证工作的正常进行。

❹ python 查找并修改txt中的ip

如果ip不是固定的话,用正则来匹配

❺ 用python断网拨号换IP

#本人也是新手,以下代码是windows环境调用cmd命令,没什么技术含量。
#环境 :xp,python2.7,notepad++
#coding:utf-8#设置显示中文
import os
import time
while True :
os.system(r"rasphone -h xxx0") #xxx0是你的拨号名称,xp下默认是“宽带连接”。
os.system(r"rasdial xxx0 xxx1 xxx2") #xxx0同上,xxx1 拨号用户名 ,xxx2拨号密码。
time.sleep(3)

❻ 如何处理python爬虫ip被封

1、放慢爬取速度,减小对于目标网站造成的压力。但是这样会减少单位时间类的爬取量。
第二种方法是通过设置IP等手段,突破反爬虫机制继续高频率爬取。网站的反爬机制会检查来访的IP地址,为了防止IP被封,这时就可以使用HTTP,来切换不同的IP爬取内容。使用代理IP简单的来讲就是让代理服务器去帮我们得到网页内容,然后再转发回我们的电脑。要选择高匿的ip,IPIDEA提供高匿稳定的IP同时更注重用户隐私的保护,保障用户的信息安全。
2、这样目标网站既不知道我们使用代理,更不会知道我们真实的IP地址。
3、建立IP池,池子尽可能的大,且不同IP均匀轮换。
如果你需要大量爬去数据,建议你使用HTTP代理IP,在IP被封掉之前或者封掉之后迅速换掉该IP,这里有个使用的技巧是循环使用,在一个IP没有被封之前,就换掉,过一会再换回来。这样就可以使用相对较少的IP进行大量访问。以上就是关于爬虫IP地址受限问题的相关介绍。

❼ python 如何更改本地IP地址

import
os,sysos.system('netsh
int
ip
set
address
name="VMware
Network
Adapter
VMnet1"
source=static
addr=172.168.1.123
mask=255.255.255.0')name里填网卡名,addr为IP,MASK为子网掩码。坐看楼下大虾高招!

❽ 如何处理python爬虫ip被封

如果爬虫没有大量IP来做,肯定是无法进行下去的,一般爬虫代理ip方式大概有以下几类。

重启路由器或光猫,每一次路由器重启,如果IP是公网的就会发生改变,如果是静态IP,就需要重启光猫才会变动公网IP。但这个方法耗时久,步骤麻烦,效率低,不适合公司的需求。

ADSL拨号也就是我们常说的拨号VPS,拨一次号可以换一次IP,相对来说比较稳定,自己控制拨号时间,爬取一次货几次拨号一次的话,这样效率比较低。

自建代理IP,一批拨号VPS服务器,利用squid+stunnel搭建一台HTTP高匿代理服务器,proxy也可以搭建。自建代理比较稳定,只有自己使用,效果也比较好。不过这个需要一定技术要求,不适合新手小白。

在浏览器设置动态IP。根据浏览器设置动态IP代理,通过变动电脑浏览器更改IP,用于浏览其他的网页。但是对于需要经常更换IP需求者,还是没有这么方便的。

使用http这种方法便捷而且IP资源的质量也比较好,比如IPIDEA覆盖全球240+地区ip,并稳定,能够满足大量的需求,安全性也可以得到保障。

❾ 求知:python+selenium使用自己服务器多个IP的切换

可以考虑修改路由表的方法,Windows和Linux的route命令略有不同。
Win7系统
route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
Linux系统
ip route change to 192.168.0.0/24 dev eth0 src 192.168.0.22

❿ python可以通过什么命令更改ip地址

#!/usr/bin/env python
#-*- encoding:gb2312 -*-
Filename: IP.py
import sitecustomize
import _winreg
import ConfigParser
from ctypes import *
print '正在进行网络适配器检测,请稍候…'
print
netCfgInstanceID = None
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
r'System\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}')
keyInfo = _winreg.QueryInfoKey(hkey)
寻找网卡对应的适配器名称 netCfgInstanceID
for index in range(keyInfo[0]):
hSubKeyName = _winreg.EnumKey(hkey, index)
hSubKey = _winreg.OpenKey(hkey, hSubKeyName)
try:
hNdiInfKey = _winreg.OpenKey(hSubKey, r'Ndi\Interfaces')
lowerRange = _winreg.QueryValueEx(hNdiInfKey, 'LowerRange')
检查是否是以太网
if lowerRange[0] == 'ethernet':
driverDesc = _winreg.QueryValueEx(hSubKey, 'DriverDesc')[0]
print '检测到网络适配器名:', driverDesc
netCfgInstanceID = _winreg.QueryValueEx(hSubKey, 'NetCfgInstanceID')[0]
print '检测到网络适配器ID:', netCfgInstanceID
if netCfgInstanceID == None:
print '没有找到网络适配器,程序退出'
exit()
break
_winreg.CloseKey(hNdiInfKey)
except WindowsError:
print r'Message: No Ndi\Interfaces Key'
循环结束,目前只提供修改一个网卡IP的功能
_winreg.CloseKey(hSubKey)
_winreg.CloseKey(hkey)
通过修改注册表设置IP
strKeyName = 'System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + netCfgInstanceID
print '网络适配器的注册表地址是:\n', strKeyName
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
strKeyName, \
0, \
_winreg.KEY_WRITE)
config = ConfigParser.ConfigParser()
print
print '正在打开IP.ini配置文件…'
config.readfp(open('IP.ini'))
IPAddress = config.get("school","IPAddress")
SubnetMask = config.get("school","SubnetMask")
GateWay = config.get("school","GateWay")
DNSServer1 = config.get("school","DNSServer1")
DNSServer2 = config.get("school","DNSServer2")
DNSServer = [DNSServer1,DNSServer2]
print '配置文件内设定的信息如下,请核对:'
print
print 'IP地址:', IPAddress
print '子关掩码:', SubnetMask
print '默认网关:', GateWay
print '主DNS服务器:', DNSServer1
print '次DNS服务器:', DNSServer2
print
res = raw_input('现在,请您决定:输入1,则将配置文件写入系统;输入2,则将现有的系统设定还原为全部自动获取;否则程序退出:')
if str(res) == '1':
try:
_winreg.SetValueEx(hkey, 'EnableDHCP', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'IPAddress', None, _winreg.REG_MULTI_SZ, [IPAddress])
_winreg.SetValueEx(hkey, 'SubnetMask', None, _winreg.REG_MULTI_SZ, [SubnetMask])
_winreg.SetValueEx(hkey, 'DefaultGateway', None, _winreg.REG_MULTI_SZ, [GateWay])
_winreg.SetValueEx(hkey, 'NameServer', None, _winreg.REG_SZ, ','.join(DNSServer))
except WindowsError:
print 'Set IP Error'
exit()
_winreg.CloseKey(hkey)
print '切换成功!重置网络后即可生效'
elif str(res) == '2':
try:
_winreg.SetValueEx(hkey, 'EnableDHCP', None, _winreg.REG_DWORD, 0x00000001)
_winreg.SetValueEx(hkey, 'T1', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'T2', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'NameServer', None, _winreg.REG_SZ, None)
_winreg.SetValueEx(hkey, 'DhcpConnForceBroadcastFlag', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'Lease', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'LeaseObtainedTime', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'LeaseTerminatesTime', None, _winreg.REG_DWORD, 0x00000000)
except WindowsError:
print 'Set IP Error'
exit()
_winreg.CloseKey(hkey)
print '切换成功!重置网络后即可生效'
else:
print '用户手动取消,程序退出'
exit('')

热点内容
android获取分辨率 发布:2025-02-14 07:12:13 浏览:750
途观l值得买哪个配置 发布:2025-02-14 07:06:33 浏览:60
格来云服务器到期 发布:2025-02-14 06:48:43 浏览:905
订奥迪A7哪个配置比较好 发布:2025-02-14 06:44:23 浏览:140
spss的数据库 发布:2025-02-14 06:37:32 浏览:120
sql除法运算 发布:2025-02-14 06:30:43 浏览:535
如何在家部署一台服务器 发布:2025-02-14 06:22:04 浏览:434
u盘里文件夹是空的 发布:2025-02-14 06:13:22 浏览:804
安卓如何缩放图片尺寸 发布:2025-02-14 06:06:34 浏览:117
六年级简便算法题 发布:2025-02-14 05:53:02 浏览:9