我正在试图抓住这个网站,但是从网站获取数据时,它对我进行了ddos检查,它检查了5秒,然后重定向到相同的网址,但页面打开(在普通浏览器上),但在python我试图请求相同的东西它只是返回ddos检查页面。有什么方法可以绕过这个或任何解决方法吗? 这是我的代码: 谢谢:))
import requests
from urllib2 import build_opener
import time
import json
url = 'https://www.masterani.me/api/anime/63-naruto-shippuuden/detailed'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding': 'none',
'Accept-Language': 'en-US,en;q=0.8',
'Connection': 'keep-alive'}
page = requests.get(url, headers = headers)
print page.text
答案 0 :(得分:1)
使用无头浏览器可以正常工作。使用PhantomJS和Selenium webdriver来抓取这些网站,或使用AJAX加载内容的网站。
我发现这些链接很有用。
答案 1 :(得分:0)
在检查请求的有效性时,反ddos解决方案通常会考虑各种参数。例如,您的地理位置可能是一个重要因素:当尝试重现您的问题时,我得到200响应,这意味着反ddos决定允许我的代码访问该网站。 我建议使用VPN /代理服务,例如这个one,或者,如果这是一个用于生产的系统,我会建议付费服务,因为这些服务更可靠。请注意,某些服务足够强大,可以阻止许多代理IP