simple_html_dom函数中的PHP内部错误

时间:2018-03-21 17:15:16

标签: php curl simple-html-dom

我尝试使用curl和simple_htmlDOM从网站提取数据。数据包含时间表,讲座和老师。代码通常有效,但它给出了内部错误500.

function parse($curl){
    $html=new simple_html_dom();
    $html->load($curl);
    $legend=$html->find('div.mainpage',0)->children(6);//legenda
    $table=$html->find('div.mainpage',0)->children(3);//table body
    echo $table->outertext;
    echo $legend->outertext;
    echo "<p>";
    foreach ($html->find('td.rozvrh-pred')as $subject){
        $subjecttextname=$subject->children(0)->children(2)->innertext;
        $subjecttextlecture=$subject->children(0)->children(5)->children(0)->innertext; //internal error point to this row to function children
        echo $subjecttextname." : ".$subjecttextlecture."<br>";

    }
    echo "</p>";
}

有什么方法可以解决这个问题吗? [UPDATE]

我接近的数据如下:

 <td  class="" align="left"><small></small></td><td  width="18" colspan="2" align="center" class="rozvrh-pred">
<small>
<a href="../mistnosti/?zobrazit_mistnost=922;zpet=../katalog/rozvrhy_view.pl?rozvrh_student=79992,zobraz=1;lang=en">ab300 (BA-MD-FEI A-B)</a><br/>
<a href="../katalog/syllabus.pl?predmet=313986;zpet=../katalog/rozvrhy_view.pl?rozvrh_student=79992,zobraz=1;lang=en">Algebraic structures</a>
&nbsp;
<sup>(1)</sup><br />
<i><a href="../lide/clovek.pl?id=733;zpet=../katalog/rozvrhy_view.pl?rozvrh_student=79992,zobraz=1;lang=en">TEACHER</a></i>
</small>
</td>

但是,我怎样才能接受文本值,例如Algerbraic Structures或Teacher?

1 个答案:

答案 0 :(得分:1)

使用is_object()测试从简单的html dom获得的所有内容。 例如:

from keras.backend.tensorflow_backend import get_session


sess=get_session()
if sess.run(x)>0:
    return t1
else:
    return t2

如果它不是一个对象并且您尝试使用简单的html dom进行进一步解析,那么每次都会出现致命错误。