php 循环抓取网页内容([学英语]: )
优采云 发布时间: 2022-01-29 14:04php 循环抓取网页内容([学英语]:
)
编辑:来自此评论:由于正在执行的处理,我无法重新启动我的脚本。如果我使用 cronjob,我的脚本不是每次都从头开始吗?它将重新初始化所有我不想要的变量(我没有在这里显示)编辑:来自评论:由于它正在执行的处理,我无法重新启动我的脚本。如果我使用 cronjob,我的脚本不是每次都从头开始吗?它将重新初始化所有变量(我没有在此处显示),我不希望由于正在执行的处理而无法重新启动我的脚本。如果我使用 cronjob,我的脚本不是每次都从头开始吗?它将重新初始化所有我不想要的变量(我没有在这里显示)
我不确定单独使用 PHP 是否足以实现您想要的。您需要考虑一个持久层(内存、数据库)以使您的变量在多个请求中保持活动状态。 while(1) 不是你这样做的方式。while(1)不是你这样做的方式。
通过阅读您的帖子,听起来您对 HTTP/PHP 有误解。看起来好像您正在尝试创建一个循环,该循环将继续“侦听”来自 HTML 表单的 POST 值,就好像您正在编写 Web 服务器本身或其他东西一样。循环会不断“*敏*感*词*”来自 HTML 表单的 POST 值,就好像您正在编写 Web 服务器本身一样。
HTTP 不是这样工作的。
这种情况每次都会发生,您的脚本将在它接收到的每组 POST 值中运行一次。请注意,您的 HTML 不是“等待”,您的 HTML 在 GET 请求中已“完成”,您的浏览器现在正在向您的 PHP 脚本发出请求,并且在您有输出之前,它不会显示任何内容。 HTML 没有“等待”,HTML 正在“完成”GET 请求,您的浏览器现在正在向您的 PHP 脚本发出请求,并且在输出之前不会显示任何内容。
现在,你说这是一个长期运行的过程,你不在乎,即。即发即弃,你说你不这样做 在这种情况下,最好简单地使用一个你可以触发而不关心响应的 AJAX 请求。在这种情况下,最好使用在不关心响应的情况下触发的 AJAX 请求。另一种选择是向 iFrame 或类似的框架发起请求。
无论哪种方式,删除 while 循环都可以让您验证请求是否通过,如下所示:无论哪种方式,删除 while 循环都可以让您验证您的请求是否通过,如下所示:
p>
如果您想向浏览器提供反馈,您尝试做的一个选项是随时将内容刷新到浏览器。一种选择是在移动期间将内容刷新到浏览器。
尝试 POST 到这个脚本,看看会发生什么:尝试 POSTing 到这个脚本,看看会发生什么:
<p>