首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP从网站中提取简单的数字数据并显示为HTML

使用PHP从网站中提取简单的数字数据并显示为HTML
EN

Stack Overflow用户
提问于 2010-11-14 11:18:39
回答 3查看 544关注 0票数 1

我一点头绪都没有。

我如何从下面的链接中提取右侧的数字%数据,并将它们显示在我的网站上,而不需要自己每天更新?一个简单的PHP + HTML能解决我的问题吗?

http://www.mrrebates.com/merchants/all_merchants.asp

同时,如何自动超链接提取的数字%并将其显示为该零售商的链接?例如,

1停止花店- 8% (这8%应该显示为该零售商的超链接,不幸的是我太新了,没有超过1个超链接)

同时将我的推荐id (如下所示)集成到那个8%超链接mrrebates.com?refid=420149上

EN

回答 3

Stack Overflow用户

发布于 2010-11-14 12:05:21

您可以使用curl下载页面,然后使用正则表达式对其进行解析,并以所需的任何格式打印出来。下面是一些执行此操作的PHP代码:

代码语言:javascript
复制
<?php
system("curl -v http://www.mrrebates.com/merchants/all_merchants.asp > /tmp/x.txt");
$data = file_get_contents("/tmp/x.txt");

preg_match_all('/<td><a href="([^"]*)".*?<b>([^<]*)<\/b>.*?<td class="r">([^<]*)<\/td>/',
               $data, $matches, PREG_SET_ORDER);

foreach ($matches as $match) {
  $site_name = $match[2];
  $url = "http://www.mrrebates.com/{$match[1]}";
  $percent = $match[3];

  print "<a href='$url'>$site_name</a> ";
  print "<a href='$url'>$percent</a> <br/>";
}

这将在您每次刷新页面时打印出一个链接列表。我不知道引用代码在该站点上是如何工作的,但我想把它添加到$url变量上会很容易。

这里需要注意的一点是,每次刷新页面时,它都必须先加载其他站点并对其进行解析,因此速度会很慢。你可以分离出系统(“curl...”)调用一个单独的文件,如果你想让它运行得更快,每小时只做一次。祝好运。

票数 2
EN

Stack Overflow用户

发布于 2010-11-14 11:47:33

最好把解析XHTML语言留给DOM parser。然而,这种类型的抓取操作无论如何都是杂乱无章的业务。我将提出另一个解决方案,并让您将其拼凑在一起。

查看HTML的源代码,找出表格的开头和结尾。看起来你想要这个:

代码语言:javascript
复制
<table border="0" width="95%" cellpadding="3" cellspacing="0" style="border: 1px dotted #808080;">

       <tr>

        <td bgcolor="#FFCC00"><b>Store Name</b></td>

        <td width="75" align="center" bgcolor="#FFCC00"><b>Coupons</b></td>

        <td width="75" align="right" bgcolor="#FFCC00"><b>Rebate</b></td>

       </tr>

然后寻找下一个出现的</table>

现在,您的内容是成行的。查找<tr</tr>

我会让你想出如何从那里分解它。

现在,实际做所有这些工作...有很多函数可以帮助你。从strpos开始。

票数 0
EN

Stack Overflow用户

发布于 2010-11-14 12:04:35

使用javascript可能更好(或者至少我通常在客户端解决类似的问题),特别是jQuery库。

您希望使用如下内容加载该页面上的数据

代码语言:javascript
复制
$.get("www.mrrebates.com/merchants/allmerchants.asp");

并解析剩余的数据以获得所需的信息(这应该足够简单,jQuery就可以做到,尽管有更完整的DOM解析器)。到目前为止,我不确定您熟悉什么,但在这里可能会有很多要描述的内容。我看到% info在td中,类为"r“

您是只有一个推荐ID,还是每个供应商都有一个推荐ID?这显然很重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4176043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档