如果无法获得新数据,是否可以存储以前的数据并访问它?

Can I store previous data and access it if new data cannot be obtained?

提问人: 提问时间:6/18/2023 更新时间:6/19/2023 访问量:37

问:

我是编码新手,并试图使用 PHP 完成任务。我正在我公司的 Web 服务器上抓取一个网页,该网页显示我需要的计数。但是,如果用户注销此页面,则页面长度会短得多,并且我需要的数据不再存在。如果标签长度小于一定数量,我想参考我从抓取中获得的最后数据。当有新数据时,我知道它们正在向前发展,计数也会在那里,但如果没有,它会破坏我的代码。如果数据存在,即标签长度大于 100,我想更新存储的数据。任何帮助将不胜感激。 谢谢。

php if-statement curl 引用 存储

评论

0赞 Barmar 6/18/2023
将旧数据保存在变量中。如果无法获取新数据,请继续使用旧数据。
0赞 ADyson 6/18/2023
到目前为止,你有什么代码?你试过什么吗?只用描述是很难的。但如上所述,如果您将以前抓取的数据存储在某个地方,那么如果您的代码检测到新抓取的页面上没有可用信息,则可以简单地加载该数据。
0赞 6/19/2023
谢谢你的建议。基本上,当我打开我创建的页面时,如果我抓取的数据不存在,它就会失败,所以我想引用它检索到的最后一个数据。我知道没有代码可以显示我更希望打开一个对话框。我已经学习编码大约 9 个月了,这是我第一次尝试公开问题,我想我对此有点紧张。我发现自己不确定如何问这个问题。
0赞 Community 6/19/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

1赞 user22086655 6/19/2023 #1

我刚刚创建了一个测试文件。

if($scrape->length >= 100){
  $file = fopen("tfile.txt", "c");
  fseek($file, -3, SEEK_END);
  fwrite($file, $scrape);
  fclose($file);}
else{            
  $file = fopen("tfile.txt", "rb");
  $scrape = substr(fread($file, filesize("tfile.txt")), -3, 3);
  fclose($file);}

评论

0赞 ADyson 6/19/2023
....它有效吗?目前尚不清楚这是否是一个解决方案(尽管它作为答案发布)还是只是为了尝试和增强问题。如果是后者,请改为编辑问题,因为 stackoverflow 的结构不像论坛 - 另请参阅教程如何提问如何回答
0赞 6/19/2023
我的错误。是的,这确实有效,我为没有澄清而道歉。我确实打算将其用作一个讨论平台。我只是想了解我应该使用什么方法。我将来会咨询其他方式。再次感谢您抽出宝贵时间回复。再次对不起,礼仪不好。
0赞 ADyson 6/19/2023
没问题,我很高兴你找到了一个可行的解决方案。如果其他人认为他们有更好或替代的方法,他们会添加自己的答案。因此,这与其说是一个讨论,不如说是一个问题,然后是一系列相互竞争(偶尔是补充)的答案