当谈到这个话题时,我有点像菜鸟。我正在尝试解决一个网站(用户脚本以改善某些网络应用程序的ui),我需要从网址获取链接。该网站有一个登录和密码系统进入实际的网站,我想开始抓取链接进入主站点。
基本上在登录后的主站点上,有几个链接转到同一个域的不同页面(例如www.somedomain.com/page?=1),并且在每个页面中,有更多的链接和我我想现在去关闭所有子页面上的链接(并继续抓住孩子的链接,直到我要停止或者页面上没有链接)。
我正在考虑使用iframe转到每个网址然后抓取文本,但我很确定这是一个缓慢的解决方案。我已经查看了YQL,但是我用控制台测试的一些网址被网站阻止了;返回xml表示网站的某些部分拒绝访问。
我想知道最好的方法。对不起,如果我的解释令人困惑。
答案 0 :(得分:1)
真的没有最好的办法。由于你基本上是在浏览器中实现蜘蛛,所以它会变慢。
由于页面位于同一个域中,因此您可以使用简单的ajax获取源代码。使用jQuery:
$.get('/path/to/page', function(data){
// data = page source
});
然后使用正则表达式解析链接源:
/<a [^\>]+href="([^\"]+)"/g
测试他们是否在同一个域上并重复...