html怎么一段时间把网页背景更换_Python登陆小米路由器拨号更换IP,绕过网站反爬IP限制机制...

图/文:迷神

最近无聊去爬某眼查的企业数据信息,我已经通过其他方式,把企业数据按照分类和某眼查的属于存到表里面,只要通过某眼查的url地址爬取内容详细页所需要的数据就可以了。但是呢,某眼查作为国内专门抓别人的数据的站,基本上各种反扒机制都有。比如这某眼查如果未登录用户,只能爬100条,超过,立马要求登陆。

有人可能说,怎么不用代理,答案是可以的,但是免费代理,网上一堆免费,但是我实际爬过N多站,基本上100个,能有5个就不错了。大部分都很假,当然土豪也可以去付费去买,然后验证下去买,但是,我们这里借助我们家庭wifi拨号上网模式,只要被限制,立马通过python断网,然后重连,进行更换IP。

Python+小米miwifi路由:

1、获取路由拨号地址

50cdc6c00bfb4056d6875d3d7ac63e96.png

小米路由界面,这里是拨号上网,切换IP

大家可以手动登录下小米路由器(你如果用python等会获取结果一样的,因为这个本地miwifi。com是指向服务器的,可以保持长时间在线的,没必要反复登录,我就不模拟登陆了,都是很easy的事情),可以看到这个拨号联网,是2个开始和暂停js事件,我们只要访问这个地址,即可实现,路由进行拨号上网,即可:

bd37c2fc5f46104237fd89ba9e915835.png

这里我们用到3个类库,先安装下:

pip install pyquery   #用于解析某眼查的页面的,非常强大的一个html解析库,有空可以讲讲pip install requests   #页面请求。pip install retrying    #python异常重试类库

爬虫切换路由IP整体思路

1、就是通过数据库,获取某眼查url地址,然后开始爬数据,如果爬取不到想要到的内容,则是被拦截了。

        res = mydb.select('url', cond_dict = {'name':'0'},fields=["id", "url"],order="order by id asc limit 1")        id = res[0][0]        url = res[0][1]        print(url)        r = s.get(url,headers=headers, timeout=5)        html = r.text        d = PyQuery(html)        name = d.find('h1.name').text()        if not name:            if html.find('>抱歉,该信息暂不予显示,查一查其它信息

2、调用小米路由器的接口,进行拨号更换,一屏蔽IP,就立马更换IP。

print('开始断网切换IP')r = s.get("网址/cgi-bin/luci/;stok=固定密钥/api/xqnetwork/pppoe_stop")for ms in range(10):print('断网连接'+str(ms)+'秒')time.sleep(1)print('开始联网切换IP')r = s.get("网址/cgi-bin/luci/;stok=固定密钥/api/xqnetwork/pppoe_start")for ms in range(15):print('等待联网'+str(ms)+'秒')time.sleep(1)

3、这里调用retrying模式,就是当出现异常的时候,进行重试,这样就可以实现反复不断的爬取内容,

from retrying import retry@retry(stop_max_attempt_number=50000,wait_fixed=2000)def tyc():#代码if __name__ == '__main__':    tyc()

最后我们的结果就变成这样了。

eafaef297bf0cddb4688c274e2336bcb.png

最终结果

这样,就可以不断反复爬数据了,不过,有银子,还是建议买代理吧,一般Vip代理好一点。

好了,就这么多啦,我是迷神,更多精彩,记得关注我哦,请多多转发,有问题也可以评论哦。如果需要完整的代码,也可以私信给我,发你哈,不过记得关注下哦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值