ホームページ >php教程 >php手册 >PHP simple_html_dom.php 通常コレクションの記事コード

PHP simple_html_dom.php 通常コレクションの記事コード

WBOY
WBOYオリジナル
2016-06-13 12:19:331221ブラウズ

コードをコピー コードは次のとおりです:


//PHP シンプル HTML Dom クラス ライブラリ ファイルをインクルード
include_once ('./simplehtmldom/simple_html_dom.php');

//HTML を収集
function getwebcontent($url){
$ch =curl_init(); = 10;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); ch, CURLOPT_FOLLOWLOCATION , 1);
$contents = trim(curl_exec($ch));
return
}


// タイトルと URL を取得します
$string =
getwebcontent('http://www.babytree.com/learn/zhunbeihuaiyun/jijibeiyun/2');
//通常のマッチング

  • タイトルとアドレスを取得します
    preg_match_all ("/
  • (.*)/",
    $ string, $out , PREG_SET_ORDER);

    foreach($out as $key => $value){
    $article['title'][] = $out[$key][2] ;
    $article['link'][] = "http://www.babytree.com/learn/article/".$out[$key][1];
    }

    // URL に従って記事の内容を取得します
    foreach($article['link'] as $key=>$value){
    $html = file_get_html($value);
    $div = $ html->find ('div[id=pagenum_0]');
    $article[content][] = $div[0]->innertext;
    }
    //タイトルのトランスコーディング-- -実際に使用 このステップは現時点では必要ありません - そもそも utf8 を使用する必要があるためです
    //実際にはトランスコーディングせずにファイルとして保存することはできません
    foreach($article[title] as $key=>$value){
    $article[title][$key] = iconv('utf-8', 'gbk', $value);//トランスコーディング
    }
    //ファイルに保存
    $num = count ($article['title']);
    for($i=0; $ifile_put_contents("{$article[ title][$i]}.txt" , $article['content'][$i]);
    }

    /*本当は12時前に投稿したかったのですが。 。でも見てください、もう3時半です。 。 。 昨日のことだとしても
    本来、記事の内容を取得するには正規表現を使うのが一番早くて良い方法です
    しかし、正規表現は良いのですが、正規表現は本当に難しいです。そこで少し調べてみたところ、
    インターネット上の多くの人が PHP Simple Dom を使用していることもわかりました。効率は少し遅くなりますが、それでも効果は良好です。
    クラス ライブラリを含めるのに約 7/8 かかります。ファイルを txt ファイルに書き込むまでの秒数は、特に記事のコンテンツを取得するための通常のルールに使用できます。
    少し調べてください*/
    ?>

  • 声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。