2013-05-22 32 views
1

我已經有的刮碼沒有工作,所以我搜索了,發現我需要使用DOM,我不確定如何實現我已經擁有的DOM甚至在閱讀之後。我擔心打破某些東西。任何幫助/教程是高度讚賞。不確定如何將我已經有的代碼轉換爲HTML dom

// get input 
$link = post('link1'); 
$category = post('category'); 
$time = post('time'); 

// markers 
$findme1 = 'https://www.mturk.com/mturk/preview?groupId='; 
$findme2 = '<span class="reward">'; 
$findme3 = '</span>'; 

// check if link is correct 
$rightlink = strpos($link, $findme1); 
// if link is correct 
    if ($rightlink !== false) 
{ 
    // get html from link 
    $html = file($link); 

    // iterate through html 
    foreach ($html as $i => $line) 
    { 
     // set title 
     if($i == 640) $title = htmlentities($line); 

     // set requester 
     if($i==669) $requester = htmlentities($line); 

     if($i==678) 
     { 
      // modify the line and save as reward 
      $line_modified = str_replace($findme2, '', $line); 
      $line_modified = str_replace($findme3, '', $line_modified); 
      $reward = htmlentities($line_modified); 
     } 

     // set qualifications 
     if($i==711) $q = htmlentities($line); 
    } 
+1

「我擔心打破某些東西」---這就是你付出的代價。如果你擔心試試,那麼爲什麼我們需要打擾? – zerkms

回答

0

嘗試PHP Simple HTML DOM Parser,它會讓你的生活輕鬆,閱讀文檔,做任何你想做的事情。如果您熟悉jQuery,那麼它已經在您的掌握之中。看看下面

include('simple_html_dom.php'); 
$html = file_get_html('https://requester.mturk.com/'); 
foreach($html->find('a') as $link){ 
    echo $link . '<br />'; 
} 

該代碼給出的例子獲取來自https://requester.mturk.com的所有數據,並使用foreach循環打印所有鏈接。該代碼是自我描述性的,我認爲。

相關問題