采用PHP简单的HTML DOM解析器的随机链接
问题描述:
我想做一个脚本,它会选择一个随机链接,并从其页面获取一些信息。但试图这样做:采用PHP简单的HTML DOM解析器的随机链接
$html= file_get_html('xxxbh.com/3/overview.aspx';);
$title = $html->find('.userlist a', 0)->plaintext;
我发现它不断得到第一个。该网页的HTML是这样的:
<td style="width: 20%; padding-bottom: 5px;"><a href="/item/18243/details.aspx">item.135</a></td>
<td style="width: 20px;"><im g style="padding: 0pt; float: none; vertical-align: middle;" src="/images/item_X.png"></td>
<td style="width: 20%; padding-bottom: 5px;"><a href="/item/11272/details.aspx">item.18</a></td>
<td style="width: 20px;"><im g style="padding: 0pt; float: none; vertical-align: middle;" src="/images/item_X.png"></td>
有人可以告诉我的方式吗?在此先感谢
答
我不知道是否有更多的最佳解决方案,但如果你没有很多的链接,您可以抓住所有的人都作为一个数组,然后选择一个随机:
<?php
$links = $html->find('.userlist a');
$c = count($links);
$randomLink = $links[mt_rand(0, $c - 1)];
你在这里使用了什么类($ html-> find())? – 2012-04-26 02:38:58
$ html-> find('。userlist a',0) - > plaintext; 我不知道为什么,但我可以抓住他们与“userlist a” – oMikR0n 2012-04-26 02:41:42
不,我的意思是什么类是$ html?什么样的对象?你不能只对一个变量字符串做find()。 – 2012-04-26 02:45:05