有一个搜索网站,其搜索结果是由 javascript 动态生成的。因此,用户输入查询,站点会在页面上显示内容,而无需刷新。
我需要以编程方式获取这些搜索结果(例如从 Java 程序或 perl/python 脚本)。
理想情况下,我可以使用 100 个查询作为用户输入来启动我的程序,然后该程序将使用每个查询访问该网站,并在我的屏幕上吐出该网站返回的所有搜索结果。
明显的问题是该网站是javasript而不是简单的HTML,因此发送URL请求并解析结果输出是行不通的(因为该页面的源代码始终只是一堆对各种内容的引用) .js 文件)。
鉴于上述条件,我有什么选择?
最佳答案
除非搜索提供商为您提供可使用的 API(通过反向 channel 协议(protocol)或公开可用的 API),否则您所做的任何事情都可能不会持续很长时间。
您可能会不遗余力地欺骗网站,让其相信您是普通网站用户。然后,他们会对网站的工作方式做出一些微小的改变(因为他们不知道有人以你的方式使用它),突然之间你的黑客就不起作用了。一段时间后,他们可能会注意到您正在以这种方式使用它们,并检测您的使用情况并彻底阻止它。
基本上,除非他们给你一个 API,否则你本质上是在偷窃,并且应该期望得到所有应得的礼貌......没有。
为了避免你认为我在评判你,我会让你知道我是根据经验说话的;)
关于java - 从外部获取网站内容的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1040228/