2

「クラス」アイテムのいくつかにアクセスできます

$ret = $html->find('articleINfo'); and then print the first key of the returned array.

ただし、span=id"firstArticle_0" のような必要な他のタグがあり、それが見つからないようです。

$ret = $html->find('#span=id[ etc ]');

場合によっては、何かが返されますが、それは配列ではないか、空のキーを持つ配列です。

残念ながら、var_dump を使用してオブジェクトを表示することはできません。var_dump は 1000 ページの読み取り不能なジャンクを生成するためです。コードは次のようになります。

<div id="articlething"> 
    <p class="byline">By Lord Byron and <a href="www.marriedtothesea.com">Alister Crowley</a></p> 
    <p> 
    <span class="location">GEORGIA MOUNTAINS, Canada</span> | 
    <span class="timestamp">Fri Apr 29, 2011 11:27am EDT</span> 
    </p> 
</div> 
<span id="midPart_0"></span><span class="mainParagraph"><p><span        class="midLocation">TUSCALOOSA, Alabama</span> - Who invented cheese? Everyone wants to know. They held a big meeting. Tom Cruise is a scientologist. </p> 

</span><span id="midPart_1"></span><p>The president and his family visited Chuck-e-cheese in the morning </p><span id="midPart_2"></span><p>In Russia, 900 people were lost in the balls.</p><span id="midPart_3">
4

3 に答える 3

0

単純な HTML DOM を使用すると、特定のクラスを持つスパンを簡単に見つけることができます。

class=location のすべてのスパンが必要な場合:

// create HTML DOM
$html = file_get_html($iUrl);

// get text elements
$aObj = $html->find('span[class=location]');

次に、次のようにします。

foreach($aObj as $key=>$oValue)
{
   echo $key.": ".$oValue->plaintext."<br />";
}

あなたの例を使用すると、私の出力は次のようになりました。

ラベル=スパン、クラス=場所: 1つ見つかりました

0: ジョージア山脈、カナダ

それが役に立てば幸いです...そしてお願いします Simple HTML DOM は、その機能に優れており、コツをつかめば簡単に使用できます。試行を続けると、何度も何度も使用する多くの例が得られます。私はいくつかのかなりクレイジーなページをスクレイピングしましたが、それらはますます簡単になっています。

于 2011-07-02T00:56:53.230 に答える
0

PHP Simple DOM パーサーのドキュメントは、Open Graph メタ タグの解読にむらがあります。これが私にとってうまくいくと思われるものです:

<?php
// grab the contents of the page
$summary = file_get_html($url);

// Get image possibilities (for example)

$img = array();

// First, if the webpage has an og:image meta tag, it's easy:
if ($summary->find('meta[property=og:image]')) {
  foreach ($summary->find('meta[property=og:image]') as $e) {
    $img[] = $e->attr['content'];
  }
}
?>
于 2012-01-27T19:56:34.817 に答える
0

これを使ってみてください。私にとっては非常にうまく機能し、非常に使いやすいです。http://code.google.com/p/phpquery/

于 2011-05-23T05:36:15.047 に答える