python爬虫ip被封怎么办? 您所在的位置:网站首页 某些网站全封了怎么解决 python爬虫ip被封怎么办?

python爬虫ip被封怎么办?

2024-07-10 23:31| 来源: 网络整理| 查看: 265

用python写的爬虫,设置了headers,包括host和useragent,设置了cookies,访问的结果是“访问过于频繁,请输入验证码”,但是用浏览器访问怎么刷新都没有问题。这个时候大致可以判定你被反爬虫锁定,那怎样解决,你可能不太了解。

简单来讲,通过代码向服务器发送的请求与浏览器向服务器发送的请求不一样,所以你可以通过浏览器获取数据,但是无法通过代码。 首先建议选中Network一栏之后重新通过浏览器向服务器发送一次请求,然后,你就可以看到你刚才通过浏览器访问服务器资源的流程和数据流向。其中,数据流向包括:浏览器向服务器发送的请求头浏览器向服务器发送的请求体(可能)服务器向浏览器发送的重定向地址及浏览器重新向新的地址发送请求服务器返回的响应头服务器返回的响应体—你面临的问题很可能是在模拟浏览器发送请求这一步 检查代码,修复之。至于解决方案,既然可以通过浏览器访问,说明IP并没有被服务器禁封,加上你提到用了requests库,通过requests.Session()来获取了一个对象或者指定了headers中的Cookie字段来发送请求。这两种方法,服务器都会认为你的多次请求来自同一个客户端,自然访问过快之后,服务器会向此客户端弹验证码(服务器端通过Session确认某一个用户,客户端通过Cookie[中的某一条]告诉服务器自己是某Session对应的用户)。所以,可以尝试切换一个新的requests.Session()对象来发送请求。也可以通过代理IP,使用代理IP需要注意的是,最好选择高匿的IP,芝麻HTTP代理IP就非常适合爬虫使用。并在使用前校验有效性。通过requests使用代理:import requests

proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get("http://example.org", proxies=proxies)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有