我有个项目需要每十秒爬取一个内容,不能手动刷新, php 好像没有定时功能的吧!?
我朋友说用长链接可以,然后我去了解了一下长链接。
看了一下,长链接好像是用来搞通讯的吧。。长链接爬取可以吗?
还请各位大神指点一二,谢谢~
我朋友说用长链接可以,然后我去了解了一下长链接。
看了一下,长链接好像是用来搞通讯的吧。。长链接爬取可以吗?
还请各位大神指点一二,谢谢~
1
nigelvon Sep 18, 2016
定时? crontab 或者 sleep+while(true) 都行
|
2
ic2y Sep 18, 2016
crontab 。设定为每 1 分钟启动一次脚本,然后, while 循环 6 次。每次开始爬的时候,记下 start_time ,爬完,记下 end_time,然后 sleep(10-(end_time - start_time))
|
3
initpub Sep 18, 2016
楼上说得对: crontab + sleep 是可以搞定的,而且最简单。
你的朋友也没错,长链接也行。就是“ keep-alive ”啦,但是这个复杂点,没有必要。优点是速度快一些。 |
4
jerryjee Sep 18, 2016
crontab 定期执行 PHP 脚本最简单
|
5
bombless Sep 18, 2016
也不一定 crontab ,你就 nohup 让一个 PHP 脚本一直跑就好,每次 sleep 十秒
|
8
dawniii Sep 18, 2016
不清楚具体需求是啥样。
我理解为 你有一个页面 页面的某些内容需要每十秒 从别的地方抓过来? 方案 1 : js 定时 ajax 去请求你的 php 程序拿数据就 OK 了 方案 2 : php 建立 websocket server 。浏览器建立长连接, js 定时发请求拿数据。 如果你的需求只是定时抓内容, php 脚本直接循环 sleep(10)就 OK 了 |
10
zktz Sep 20, 2016 via Android
长连接不是你说的这个层面的事吧。你每隔 10 秒取一次数据,你对目标每隔 10 秒重新读取一次,对方就能记录一次,该封一样封。
|