基本上,我试图从一个网站获取源代码,以便在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及其火箭脚本,尝试过其他用户代理,并使用了一个处理CloudFlare防ddos系统的库(我认为本网站不使用该库,它也没有“检查浏览器(…)”或验证码)。我无法逃避这件事。 这是我代码的一部分:
user_agent = "<an user agent here>"
header = {'User-Agent':user_agent}
r = urllib.request.Request("<website url here>",None,header)
response = urllib.request.urlopen(r)
data = response.read()
然后我分析了信息等等。。。 有没有办法绕过这个?我尝试使用这个library,但无法使其正常工作。 这是我试图从中解析一些信息的link
听起来像是Selenium的工作。我在一个受cloudflare ddos保护的网站上试用了它,效果很好:
相关问题 更多 >
编程相关推荐