Web报废:返回单个脚本而不是完整的源代码(python请求)

2024-06-23 19:40:25 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我试图从一个网站获取源代码,以便在GUI中显示一些个人使用的信息。直到今天都很好。请求正在返回:

<script type="text/javascript">
//<![CDATA[
try{if (!window.CloudFlare) {var CloudFlare=[{verbose:0,p:1488589563,byc:0,owlid:"cf",bag2:1,mirage2:0,oracle:0,paths:{cloudflare:"/cdn-cgi/nexp/dok3v=1613a3a185/"},atok:"bf044f0277d5959921a2a72c3d75c8e3",petok:"a032d4a7f881ace71dd54654ee2fd5265b3404f3-1488641637-1800",zone:"<site link here>",rocket:"a",apps:{}}];document.write('<script type="text/javascript" src="//ajax.cloudflare.com/cdn-cgi/nexp/dok3v=f2befc48d1/cloudflare.min.js"><'+'\/script>');}}catch(e){};
//]]>
</script>

我读过什么是CloudFlare和他们的rocket脚本,尝试过其他用户代理,并使用了一个处理CloudFlare ddos anti-ddos系统的库(我认为这个网站不使用它,既没有“检查您的浏览器(…)”也没有验证码)。我没办法避开这个。 这是我代码的一部分:

^{pr2}$

然后我分析了信息等等。。。 有办法绕过这个吗?我试着用这个library,但没能成功。 这是link我试图从中分析一些信息


Tags: text信息网站typelinkscriptcdncloudflare
1条回答
网友
1楼 · 发布于 2024-06-23 19:40:25

听起来像是Selenium的工作。我在一个受cloudflare ddos保护的网站上试用过,效果很好:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome('/path/to/chromedriver')
driver.get('website-protected-by-cloudflare-ddos')
try:
    # wait until certain element with id 'expected-id' showed up
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, 'expected-id'))
    )
    # do whatever you want with the page
    print(driver.title)
finally:
    driver.quit()

相关问题 更多 >

    热门问题