您需要的功能可以利用AJAX来实现。下面是我写的代码读取一个文件并显示出来,供您参考。
<!doctype html><html>
<head>
<meta charset="utf-8">
<title>使用AJAX读取外部文件</title>
</head>
<body>
<div id="txt">外部文件内容</div>
<script>
if ( window.ActiveXObject ) // windows 系统
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
else if ( window.XMLHttpRequest ) // 其它系统,及非IE6系统
xmlHttp = new XMLHttpRequest()
xmlHttp.onreadystatechange = Callback
xmlHttp.open("GET", "mytxt.txt", true ) // 读取mytxt.txt内容
xmlHttp.send(null)
function Callback()
{
if ( xmlHttp.readyState == 4 ) {
if ( xmlHttp.status == 200 ) {
xml = xmlHttp.responseText // 读取返回值即文件内容
document.getElementById("txt").innerText = xml // 在当前页面显示文件内容
}
}
}
</script>
</body>
</html>
抓取js动态生成的内容的页面有两种基本的解决方案1用dryscrape库动态抓取页面
js脚本是通过浏览器来执行并返回信息的,所以,抓取js执行后的页面,一个最直接的方式就是用python模拟浏览器的行为。WebKit 是一个开源的浏览器引擎,python提供了许多库可以调用这个引擎,dryscrape便是其中之一,它调用webkit引擎来处理包含js等的网页!
2 selenium web测试框架
selenium是一个web测试框架,它允许调用本地的浏览器引擎发送网页请求,所以,它同样可以实现抓取页面的要求。