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

使用PHP从网站中提取简单的数字数据并显示为HTML,php,parsing,hyperlink,extract,Php,Parsing,Hyperlink,Extract,我一点也不知道 我如何从下面的链接中提取右侧的数字%数据,并将其显示在我的网站上,而无需自己每天更新?一个简单的PHP+HTML能解决我的问题吗 同时,我如何自动链接提取的数字%并将其显示为该零售商的链接?例如, 一站式花店-----------------8%(这8%应该显示为该零售商的超链接,不幸的是,我太新了,没有超过1个超链接) 同时将我的推荐id(如下所示)集成到8%的超链接上 mrrebates.com?refid=420149解析XHTML最好留待以后处理。然而,这种类型的刮擦操

我一点也不知道

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

同时,我如何自动链接提取的数字%并将其显示为该零售商的链接?例如,
一站式花店-----------------8%(这8%应该显示为该零售商的超链接,不幸的是,我太新了,没有超过1个超链接)
同时将我的推荐id(如下所示)集成到8%的超链接上
mrrebates.com?refid=420149

解析XHTML最好留待以后处理。然而,这种类型的刮擦操作无论如何都是一件麻烦事。我会提出另一个解决方案,让你把它拼凑起来

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

<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>

店名
优惠券
回扣
然后查找下一个出现的


现在,您的内容已成行。。。查找
使用javascript(或者至少我通常在客户端处理过类似的问题)可能会更好,尤其是jQuery库

您想在该页面上加载数据,比如

$.get("www.mrrebates.com/merchants/allmerchants.asp");
并解析剩余的数据以获得所需的信息(这应该足够简单,jQuery可以做到,尽管有更完整的DOM解析器)。我不确定到目前为止你对什么比较熟悉,但这里可能会有很多描述。我看到%info在td中,类为“r”


您是否只有一个推荐ID或每个供应商一个?这显然很重要

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

<?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/>";
}