前提・実現したいこと
phpQuery-onefile.phpにてアメーバーブログの新着記事をスクレイピング。PHP初心者です。
アメーバブログの新着記事のサムネイル・記事タイトル・投稿日を取得してHTMLに出力したいと思っています。PHP初心者でかなりコードが汚いと思うんですが、ご了承ください。
知恵を貸していただければ幸いです。
発生している問題・エラーメッセージ
取得したい項目が取得できない。
取得したい項目(6件分)
・サムネイル(成功)
・記事タイトル(成功)
・投稿日(失敗)
日付がpタグで囲われていたのでそれを狙ってコードを書いてみたのですが、何も取得できませんでした。pについているクラスでも試みたのですが何も取得できませんでした。
該当のソースコード
php
1<?php 2 3// phpQueryの読み込み 4require_once("phpQuery-onefile.php"); 5 6// HTMLデータを取得する 7$HTMLData = file_get_contents('https://ameblo.jp/[**ameba ID**]/entrylist.html'); 8 9// HTMLをオブジェクトとして扱う 10$doc = phpQuery::newDocument($HTMLData)->find('#primary'); 11 12echo "<ul>"; 13foreach ($doc[".skin-borderQuiet:lt(5)"] as $entry){ 14 $h1 = pq($entry)->find('h2')->text();//タイトルの取得 15 $img = pq($entry)->find('img:eq(1)');//サムネイルの取得 16 $date = pq($entry)->find('p')->text();// 日付の取得 17 18 echo "<li>"; 19 echo "<div'>".$img."</div>"; 20 echo "<div><time>".$date."</time>".$h1."</div>"; 21 echo "</li>"; 22} 23echo "</ul>"; 24?> 25
試したこと
当初はRSSでのサムネイル取得を目指したのですが、どうしても出来ずに断念しました。初めてスクレイピングです。
補足情報(FW/ツールのバージョンなど)
- @version 0.9.5
- @link http://code.google.com/p/phpquery/
- @link http://phpquery-library.blogspot.com/
- @link http://jquery.com/
- @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
- @license http://www.opensource.org/licenses/mit-license.php MIT License
- @package phpQuery
あなたの回答
tips
プレビュー