0

これを自分でやろうとして3時間もがいた後、私は自分でこれを行うことは不可能か不可能であると判断しました. 私の質問は次のとおりです。

PHP を使用して添付画像の数字をスクレイピングし、ウェブページにエコーするにはどうすればよいですか?

画像URL: http: //gyazo.com/6ee1784a87dcdfb8cdf37e753d82411c

助けてください。cURLの使用から正規表現の使用、xPathの使用まで、ほとんどすべてを試しました。何も正しく機能していません。

数値を分離し、変数に割り当てて、ページの他の場所にエコーするために、数値のみが必要です。

アップデート:

http://youtube.com/exonianetwork - スクレイピングしようとしている URL。

/html/body[@class='date-20121213 en_US ltr   ytg-old-clearfix guide-feed-v2 site-left-aligned exp-new-site-width exp-watch7-comment-ui webkit webkit-537']/div[@id='body-container']/div[@id='page-container']/div[@id='page']/div[@id='content']/div[@id='branded-page-default-bg']/div[@id='branded-page-body-container']/div[@id='branded-page-body']/div[@class='channel-tab-content channel-layout-two-column selected   blogger-template ']/div[@class='tab-content-body']/div[@class='secondary-pane']/div[@class='user-profile channel-module yt-uix-c3-module-container ']/div[@class='module-view profile-view-module']/ul[@class='section'][1]/li[@class='user-profile-item '][1]/span[@class='value']

私が試したxPathは、何らかの理由で機能しませんでした。例外やエラーはスローされず、何も表示されませんでした。

4

2 に答える 2

2

おそらく、単純なXPathの方が操作とデバッグが簡単でしょう。

これが短い自己完結型の正しい例です(名前の最後のスペースに注意してくださいclass):

#!/usr/bin/env php

<?
$url = "http://youtube.com/exonianetwork";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$html = curl_exec($ch);
if (!$html)
{
    print "Failed to fetch page. Error handling goes here";
}
curl_close($ch);

$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$profile_items = $xpath->query("//li[@class='user-profile-item ']/span[@class='value']");

if ($profile_items->length === 0) {
    print "No values found\n";
} else {
    foreach ($profile_items as $profile_item) {
        printf("%s\n", $profile_item->textContent);
    }
}

?>

実行する:

% ./scrape.php

57
3,593
10,659,716
113,900
United Kingdom
于 2012-12-14T02:56:49.407 に答える