我正在考虑一个脚本,可以扫描10多个网站,查找特定div
内的特定内容。假设它会被适度使用,每天大约400次搜索。
标题中的哪两个会更好地支持负载,占用更少的资源并提供更好的速度:
从每个网站创建DOM,然后针对特定的div id迭代每个网站
或
使用file_get_contents
从网站创建字符串,
然后重新编写所需的字符串。
更具体地说明我需要执行哪种操作,请听取以下内容,
其他问题: regexp是否能够搜索以下事件 给定字符串:
<div id="myId"> needed string </div>
识别具有给定ID的标签并仅返回标签之间的内容?
请回答是/否,如果有可能的话,我会打开一个单独的语法问题,因此不会全部捆绑在这里。
答案 0 :(得分:1)
对于每天400次搜索,您使用哪种方法在性能方面相当无关紧要。
在任何情况下,最快的方法是file_get_contents
+ strpos
+ substr
,除非您的位置+提取算法足够复杂。根据具体的正则表达式,它可能会或可能不会比DOM快,但可能是。 DOM可能是比正则表达式更可靠的方法,但取决于页面格式良好的程度(libxml2并不完全模仿浏览器和解析)。
答案 1 :(得分:0)
是
速度取决于您的服务器和相关网页;与下载要扫描的页面的时间相比,两种方式的执行时间都可以忽略不计。
如果你使用DOM / XPath,可以用3行代码来实现。