我需要监控网站上发布的任何新项目。
我使用了许多 RSS 生成器和查看器,但同步间隔低于标准。
我想我可以简单地 curl 页面,在加载时重新 curl 。
问题是,我对 cURL 的经验为 0。
我阅读了文档。
我尝试使用 RSS 生成器,它工作正常,但同步间隔很糟糕或需要付费......即使如此。
我需要它尽可能快。仅仅几秒钟就输掉了上次拍卖。
<?php
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL,"http://stackoverflow.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$output= curl_exec($ch);
curl_close($ch);
?>
<div class="content">
<pre>
<?php
echo htmlentities($output);
?>
</pre>
</div>
使用这段代码,我可以获取页面内容。
我应该添加什么代码来仅输出“card-title”元素?
附言我没有添加真实链接,但相关页面的项目标题标记为“card-title”
编辑: https://www.restockcrc.com/all/ (只需要第一页。)
PRTSCN:https://snag.gy/DnNMda.jpg
最佳答案
这是一个示例,说明如何使用正则表达式抓取项目。理想情况下,您希望解析 HTML 而不是使用正则表达式,但不幸的是,它们的 HTML 格式不正确。
$html = file_get_contents('https://www.restockcrc.com/all/');
$re = '/<h4 class="card-title">.+?<a href="(\S+)">(.*?)<\/a>/ms';
preg_match_all($re, $html, $matches, PREG_SET_ORDER, 0);
foreach ($matches as $item) {
echo sprintf('<a href="%s">%s</a><br>', $item[1], $item[2]); // Print results
}
关于php - 通过 cURL 获取 "card-title"html 元素并解析/输出响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57245558/