【发布时间】:2010-12-13 21:07:00
【问题描述】:
我需要编写一个脚本来获取链接并解析链接页面的 HTML 以提取标题和其他一些数据,例如可能是简短描述,就像链接到 Facebook 上的某些内容时一样。
当用户添加到网站的链接时会调用它,因此当客户端启动网站时可以看到相当数量的点击。
我很好奇我应该在服务器端使用 PHP 还是使用 Javascript 在最终用户端执行此操作?我一直在编写背后的逻辑,试图找出标记的哪些区域充满了潜在的内容,这让我想知道如果我继续使用 PHP,负载是否会太大。
客户端只有一个体面的网络服务器,我担心解析/分析 HTML 页面的负载可能会太大,我们可以在 Javascript 中执行它并将其外包给添加链接的用户。
关于此事的任何建议或想法都会很棒。谢谢。
编辑:此数据不会直接进入数据库,它用于通过自动填写链接描述来帮助用户,这些链接在存储到数据库之前仍然经过我的定期审查。
【问题讨论】:
-
评论而不是回答,因为这是一种观点:如果“负载”对于服务器上的 PHP 脚本来说太大了,它在客户端上的性能可能会更差。考虑到您无法预测客户端的环境或资源,我会整天使用 PHP 而不是 JavaScript。
-
@Stephen - 由于 PHP 被编译成字节码,它的运行速度比 JS 快得多。此外,有一小部分浏览器关闭了 JS。
-
除了你的php代码为所有客户端运行在单个服务器上,你的js分别运行在每个客户端上
-
在 JS 或 PHP 上抓取会很快。我担心的是,如果有成千上万的人添加链接,PHP 版本是否会因大量人要求它拉入并解析所有这些页面而陷入困境。
-
数千不是问题。一点也不。 并发请求的数量会造成性能问题。因此,除非您的意思是“每秒数千次”(您没有这样做),否则您会没事的。即使是一分钟一千次(除非可能是突发性的,否则你不会得到)每秒也只有 16.7 次——在网络服务器上实现这一点非常微不足道。
标签: php javascript web-scraping