web-scraping
  • simple-html-dom
  • 2017-06-08 73 views 0 likes 
    0

    刮一些Divs我試圖刮中間表,這是我唯一需要從這個網站,也是唯一我可以'從那裏得到。 經過幾次嘗試之後,我創建了這個小代碼來清除所有的html div,請告訴我我做錯了什麼以及您的想法。 謝謝! (在底部:一部分從這個頁面的圖片,我正在尋找)再次無法找到並使用簡單的Html Dom(PHP)

    <?php 
    include_once("simple_html_dom.php"); 
    $link = 'http://www.oddsportal.com/soccer/argentina/copa-argentina/colon-santa-fe-ind-rivadavia-bTD4Oj2C/?r=1#1X2;2'; 
    
    $html = file_get_html($link); 
    $table = true; 
    $i = 0; 
    
    while ($table) 
    { 
    $table = $html->find("div",$i++); 
    echo $table;  
    
    } 
    ?> 
    

    the table

    謝謝:)

    +0

    你到底要從表中刮什麼? – oguzhancerit

    +0

    所有數據(全部是tr和td),但看起來像他們不能訪問此表和此表。 – AvivS

    +0

    我更新了我的答案。 – oguzhancerit

    回答

    0

    更新回答

    表中你想要抓取的網站,當頁面被加載時,把表格放在那裏,用ajax調用。所以;當你刮html時,那裏沒有表格。

    你們都可以模擬他們的ajax調用,但這對你來說會更困難。在Chrome上打開您的網絡選項卡並分析所有請求,當您發現真正的請求將表格獲取到頁面時,將其刮掉。


    老回答

    我認爲;你正確地刮表。之後,你需要一個for循環來清除表格中的每個div。

    foreach($html->find('tr div.l a') as $element) { 
        echo $element->href; 
    } 
    

    你應該調整上面的代碼到你的代碼。

    全碼

    <?php 
        include_once("simple_html_dom.php"); 
        $link = 'http://www.oddsportal.com/soccer/argentina/copa-argentina/colon-santa-fe-ind-rivadavia-bTD4Oj2C/?r=1#1X2;2'; 
    
        $html = file_get_html($link); 
        foreach($html->find('tr div.l a') as $element) { 
        echo $element->href; 
        } 
    ?> 
    
    +0

    問題是我沒有刮桌子,但是謝謝,確定在病情成功後使用這個循環。 – AvivS

    +0

    @AvivS我現在正在試用我的電腦。 – oguzhancerit

    +0

    您的意見如何最簡單的方法呢? 我試圖分析請求,但沒有成功。它是有道理的,因爲它的Ajax,但我怎麼能要求後,Ajax加載HTML? – AvivS

    相關問題