选择特定的ip访问网站

有时候采集数据时,目标网站会有防采集的策略,最通常的方法是限制ip访问的频率。这时候通常的解决方案是,使用代理ip。也有的是通过,服务器重新拨号,切换ip的方法来解决。这里介绍一下重新拨号,切换ip的方法。

选择重新拨号,通常需要服务器端有两个网卡。一个网卡连接你的终端,另一个网卡拨号,切换ip。但是在默认的情况下,访问网站都是默认的你用来连接终端的ip来访问。所以,每次访问网站的时候都需要指明又哪个ip发起访问。scarpy的做法是绑定网卡,这种是最好的解决方法。但是也可以不用绑定网卡,只需要每次访问的时候,在header请求头中加入自己的ip地址就够了。

命令行获取ip的方法:

ifconfig | grep -Eo ‘inet (addr:)?([0-9].){3}[0-9]‘ | grep -Eo ‘([0-9].){3}[0-9]‘ | grep -v ‘127.0.0.1’

记得要带上拨号程序的端口号

python3获取网卡的ip:

def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
        s.fileno(),
        0x8915,  # SIOCGIFADDR
        struct.pack('256s', bytes(ifname[:15], 'utf-8'))
    )[20:24])

print(get_ip_address(‘etc0’))

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!