php多线程抓取网页(PHP访问启动文件启动之前任务使用一个脚本去操作思路)

优采云 发布时间: 2022-01-07 13:21

  php多线程抓取网页(PHP访问启动文件启动之前任务使用一个脚本去操作思路)

  有时候在做程序的时候,你会发现AJAX对于批处理异步不是很好。并且 PHP 不支持多线程。效率低。

  这时候会使用 PYTHON 来做后台多线程操作。

  在WINDOWS下比较麻烦。第一:如果是多任务,需要几个启动文件。一般一个启动文件就是一个PHP文件。

  启动文件里面是运行CMD的代码

  这是项目下放置PYTHON脚本和PHP临时启动文件缓存日志的目录。

  

  

  一般情况下,在运行启动文件之前,需要将PYTHON脚本文件复制到C盘的PYTHON.EXE目录下。以便它可以正常运行(或因为权限问题)

  所以在启动文件启动之前,让PHP把PYTHON脚本复制到PYTHON.EXE目录下。

  然后创建启动文件

  启动文件代码如下:(启动文件放在phpcache目录下)

  

  多个任务需要使用多个启动文件和多个执行文件(PYTHON 脚本)。只有这样才能实现多任务和多线程。

  不可能使用一个脚本来操作多个任务。

  

  然后使用PHP访问启动文件开始任务执行。

  访问代码如下:

  

  然后后台程序开始运行。

  测试效果:

  20000条数据(远程)——数据量大的情况下,启动6个任务,每个任务10个线程。6 个任务获取不同类别的数据。完成任务耗时 48 秒。

  想法整理:

  1、PHP 需要使用 FOPEN 打开一个页面来启动任务。

  2、如果启动多个任务,必须生成多个启动文件(PHP-put and run CMD)

  3、如果启动多个任务,必须将多个可执行文件(PYTHON脚本)复制到PYTHON.EXE目录下

  4、 LINUX下的思路差不多,只是可执行文件和脚本有一些区别

  5、其他扩展自己..

  请注意:本文严禁任何公司或个人转载,本文为原创文章。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线