什么是抓住动态网站的最佳方法,其中大部分内容是由似乎是ajax请求生成的?我之前有过使用Mechanize,BeautifulSoup和python组合的经验,但我还有新的东西.
- 编辑 - 更多细节:我正在试图刮掉CNN 主数据库.那里有大量的信息,但似乎没有api.
我正在寻找一个优选的开源图书馆或程序,以便出于安全目的实时加密视频,而不是DRM.我找到了几个不错的算法,RVEA和VEA,但在我尝试黑客攻击之前我想看看是否已经存在或者是否有更好的方法这样做,因为这些方法有点旧.
这看起来非常冗长,特别是对于长函数名称,有没有更好的方法在Python中执行此操作?
if someRandomFunction():
variable = someRandomFunction()
Run Code Online (Sandbox Code Playgroud)
编辑:对于更多上下文变量尚未定义,它将是树上的新节点.如果someRandomFunction()返回一个值,我只想创建这个节点.而someRandomFunction()应该从不同类型的树返回某个节点的字符串表示.
我正在尝试使用canvas元素在浏览器中创建一个基本的频闪灯.我期待setInterval继续调用changeBG函数来改变为随机背景颜色.此函数本身可以正常工作,但在setInterval调用时则不行.我试图在firebug中提取这个页面,它告诉我颜色未定义.这是有问题的代码.
<html>
<head>
<title>Strobe!</title>
<link rel="stylesheet" type="text/css" href="reset.css" />
<script type="text/javascript">
function changeBG(colors,ctx,canvas) {
ctx.fillStyle = colors[Math.floor(Math.random()*colors.length)]
ctx.fillRect(0,0,canvas.width,canvas.height)
}
function eventLoop() {
var colors = ['#000000','#ff0000','#00ff00','#0000ff','#ffff00','#ff00ff','#00ffff']
var canvas = document.getElementById('mainCanvas')
var ctx = canvas.getContext('2d')
canvas.width = window.innerWidth
canvas.height = window.innerHeight
//changeBG(colors,ctx,canvas)
setInterval("changeBG(colors,ctx,canvas)", 1000);
}
</script>
</head>
<body onload="eventLoop()">
<canvas id="mainCanvas" width="800" height="600">
</canvas>
</body>
Run Code Online (Sandbox Code Playgroud)
我是javascript的新手所以任何洞察力都会受到高度赞赏.