我一点头绪都没有。
我如何从下面的链接中提取右侧的数字%数据,并将它们显示在我的网站上,而不需要自己每天更新?一个简单的PHP + HTML能解决我的问题吗?
http://www.mrrebates.com/merchants/all_merchants.asp
同时,如何自动超链接提取的数字%并将其显示为该零售商的链接?例如,
1停止花店- 8% (这8%应该显示为该零售商的超链接,不幸的是我太新了,没有超过1个超链接)
同时将我的推荐id (如下所示)集成到那个8%超链接mrrebates.com?refid=420149上
发布于 2010-11-14 12:05:21
您可以使用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/>";
}这将在您每次刷新页面时打印出一个链接列表。我不知道引用代码在该站点上是如何工作的,但我想把它添加到$url变量上会很容易。
这里需要注意的一点是,每次刷新页面时,它都必须先加载其他站点并对其进行解析,因此速度会很慢。你可以分离出系统(“curl...”)调用一个单独的文件,如果你想让它运行得更快,每小时只做一次。祝好运。
发布于 2010-11-14 11:47:33
最好把解析XHTML语言留给DOM parser。然而,这种类型的抓取操作无论如何都是杂乱无章的业务。我将提出另一个解决方案,并让您将其拼凑在一起。
查看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>然后寻找下一个出现的</table>。
现在,您的内容是成行的。查找<tr和</tr>。
我会让你想出如何从那里分解它。
现在,实际做所有这些工作...有很多函数可以帮助你。从strpos开始。
发布于 2010-11-14 12:04:35
使用javascript可能更好(或者至少我通常在客户端解决类似的问题),特别是jQuery库。
您希望使用如下内容加载该页面上的数据
$.get("www.mrrebates.com/merchants/allmerchants.asp");并解析剩余的数据以获得所需的信息(这应该足够简单,jQuery就可以做到,尽管有更完整的DOM解析器)。到目前为止,我不确定您熟悉什么,但在这里可能会有很多要描述的内容。我看到% info在td中,类为"r“
您是只有一个推荐ID,还是每个供应商都有一个推荐ID?这显然很重要。
https://stackoverflow.com/questions/4176043
复制相似问题