php - 通过 cURL 获取 "card-title"html 元素并解析/输出响应

标签 php android ios curl debian

我需要监控网站上发布的任何新项目。

我使用了许多 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/

相关文章:

php - 将两列分组并不同

Android 低通滤波器和高通滤波器

android - 封闭alpha测试轨道如何区分两个测试轨道?

ios - [如何]打开多个语句到语音

ios - Apple Mach-O 链接器错误 GoogleAnalyticslib

php - 如何从 mysql 足球 [足球] 结果表中即时输出排名表?

php - 如何在sql查询中设置变量

php - 对除 "wholesale_customer"之外的所有人禁用本地传送

android - 更新应用程序后 PreferenceScreen 不显示摘要

ios - 使用 Swift 3 显示来自核心数据的随机数据