php 抓取网页内容(php抓取网页内容用flash写页面在xml或json中存储)
优采云 发布时间: 2022-03-09 18:05php 抓取网页内容(php抓取网页内容用flash写页面在xml或json中存储)
php抓取网页内容用flash写页面,在xml或json中存储就可以,相关的模块网上很多,此处不做赘述。优势是可以局部缓存在页面上,大大加快页面加载速度。劣势是代码很长,比如有些表单用方括号,有些用大括号,在代码量变大的情况下就有可能写不下,另外在对服务器policy的操作上也有可能失败,比如在log中记录一些敏感字段。
为了让网页多次加载,所以要使用加载算法保证不重复加载,用最简单的,如使用循环。上面都是php原生的特性,还可以使用coyote等框架封装。不过我觉得目前页面重复加载的现象严重,提供一些新的特性也是有必要的。可以使用缓存来减少重复加载。但是,最后一定要对中间的policy机制有比较好的设计。
我的做法是把html变成纯php程序,程序中解析加载页面。loadingphp程序中是通过循环来解析加载html。一段代码可以定义成一个框架比如async/await。这样就避免了在多线程下的加载程序,速度应该比workerman快得多,而且能把url改成哪个来加载,也能避免url被发送到前端后,前端对url定义再解析导致http报文内容丢失的问题。</p>
主要应该考虑这么几个因素:1.资源按照url解析后能够方便在缓存中恢复;2.资源能够方便定义为哪个线程继续加载,哪个线程暂停加载,以确保网络不会丢失;3.对于文件,能够在根目录生成文件名然后缓存中加载,在子目录内生成文件名在页面中显示。解决效率问题。我所碰到的问题是http协议在解析过程时,会有新文件被生成,而由于页面变长,或其他一些原因,会产生文件的大小增加,造成分布式一致性比较困难。另外页面的颜色等特性也能够应对这个问题。