使用simplehtmldom解析/抓取问题

时间:2012-01-04 16:25:59

标签: php parsing screen-scraping simple-html-dom

我正在尝试使用simplehtmldom来解析包含许多li标签的网页。

我只想提取以下代码段中出现的特定代码<li class='ev_td_li c5'>的innertext:

<li class='ev_td_li c5'>10:00  
    <a class="ev_link_row c3" href="/fr/quoi-faire-a-sutton/programme-activites-sutton/calendrier-hebdomadaire/icalrepeat.detail/2012/01/01/13918/-/NTNkZDVjNzNiNzE1YTBmM2VhZjMyZjljNmU0ODFiNjQ=.html"
        title="Marche du 2012">Marche du 2012</a>::  
    <a class="ev_link_cat c4" href="/fr/quoi-faire-a-sutton/programme-activites-sutton/calendrier-hebdomadaire/week.listevents/2012/01/02/122.html"
        title="Outdoor, Sporting Events ">Outdoor, Sporting Events</a>
</li>

如果我使用以下代码,我会得到所有'li'标签:

foreach($html->find('li') as $e){
 echo $e->innertext . '<br>';

但如果我尝试按以下方式添加该类,则不会得到任何输出:

foreach($html->find('li.ev_td_li c5') as $e){
    echo $e->innertext . '<br>';

我想知道'li.ev_td_li c5'中的空格字符是否是问题。

有谁知道我做错了什么? 谢谢 埃利奥特

1 个答案:

答案 0 :(得分:0)

尝试li.ev_td_li.c5(请注意c5前面的.)。如果您有'li.ev_td_li c5(请注意空格),则会将其解释为“ev_td_li类的<li>标记,后跟<c5>标记”。