2012-04-26 84 views
-1

我想做一個腳本,它會選擇一個隨機鏈接,並從其頁面獲取一些信息。但試圖這樣做:採用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> 

有人可以告訴我的方式嗎?在此先感謝

+0

你在這裏使用了什麼類($ html-> find())? – 2012-04-26 02:38:58

+0

$ html-> find('。userlist a',0) - > plaintext; 我不知道爲什麼,但我可以抓住他們與「userlist a」 – oMikR0n 2012-04-26 02:41:42

+0

不,我的意思是什麼類是$ html?什麼樣的對象?你不能只對一個變量字符串做find()。 – 2012-04-26 02:45:05

回答

1

我不知道是否有更多的最佳解決方案,但如果你沒有很多的鏈接,您可以抓住所有的人都作爲一個數組,然後選擇一個隨機:

<?php 
$links = $html->find('.userlist a'); 
$c = count($links); 
$randomLink = $links[mt_rand(0, $c - 1)]; 
+0

我得到:調用一個非對象的成員函數children() – oMikR0n 2012-04-26 03:48:09

+0

@ oMikR0n'$ links [mt_rand(0,$ c-1)]' ? – galymzhan 2012-04-26 03:50:11

+0

謝謝大家:D – oMikR0n 2012-04-26 03:53:50

相關問題