記事の詳細

先日、表題のようなエントリーで某ブログで記事を書いたところ、「WORDPRESS スクレイピング」でだいぶアクセスがありましたので興味ある方もいるもんだなーと、なのでこっちのサイトに書き直す事にします。

WORDPRESSのスクレイピング方法はいくつか手段がある!

いくつか方法はあるんですがスクレイピングと言っても、

一カ所だけ定期的にスクレイピングさせたい!とかカテゴリに絞ってスクレイピングさせたい!とかあるので今回のご紹介を元にご自身でも色々試して欲しいなとは思います。

1つ目プラグインで秒速でスクレイピング!

まずはFeedWordPressというプラグインで行う方法。
これは非常に簡単でアンテナサイト(キュレーションサイト)も1時間もあれば作れるやつです。
詳しい設定方法はツクリバさんが分かりやすいですね

ツクリバさん

ツクリバさん

原理としてはwp-cronを回して外部サイトRSSを定期的に引っ張ってくる手法です。
RSSを配信しているサイトであれば、その全てをWORDPRESSの投稿として扱えます。

2つ目はスクレイピングシステムを同期させる方法

これはITかあさんが配布されているプログラムを利用させていただく方法です。

1421423127370

ITかあさんの配布されているシステムは本当に画期的で、【投稿一覧⇒投稿詳細】という構造のサイトなら手当たり次第に自動でスクレイピング出来ます。

ITかあさんスクレイピングプログラムの構築が分からない方のために

さて、いよいよ本題です。
DB?DOM?なんですかそれは!んもぉ作り方が分からないよー!という方も居ると思いますので、自分なりに補足してみました。

まずはワードプレスをインストールし、環境を整えておいてください。

データベースの設定

ワードプレスをインストールしているphpmyadminにアクセスして以下のSQLを上から順番に実行していってください。
(レンタルサーバーが提供する簡単インストールなどを行うと、データベーステーブルの接頭辞に任意の数字が付けられてしまうのでご注意!)

wdfwdw

↑こんな感じですね。
“SQL は正常に実行されました”と表示されれば無事完了です。
自分のphpmyadminのURLが何か分からない!って方はお使いのレンタルサーバのサポートに問い合わせてみてください。

必要なものをダウンロード

PHP Simple HTML DOM Parser
ITかあさんスクレイピングシステム

SourceForgeITかあさん

※動作環境はPHP バージョン 5.2.4 以上 MySQL バージョン 5.0 以上

ダウンロードし解凍したらフォルダをアップロードする!

ITかあさんサイトからダウンロードした物を解凍するとparthというフォルダが出来るので、これをアップロードします。
アップロード場所はワードプレスをインストールするとディレクトリ直下にwp-admin~wp-contentなどのディレクトリ出来るので、ここの並びにparthフォルダを丸ごとアップロードしてください。
FTP
続いてsourceforgeからダウンロードしたPHP Simple HTML DOM Parserを解凍すると、simple_html_dom.phpというものがあるので、これ1つだけを先ほどアップロードしたparthディレクトリにアップロードしてください。(これはどこにアップしてもいいんですが、一応)
FTP

各所設定作業

↑このファイルを開いてデータベース名やユーザー名、データベースパスワードを入力。
ここはワードプレスのwp-config.phpと同じ設定を入力してください。

続いてsimple_html_dom.phpを紐づける設定です。
parth/app/controllers/components/config.php
↑このファイルを開いてパスを書き変えます。

ファイルパスとはサーバー上のパスということになりますので、相対パスや絶対パスとは違います。

ファイルパスが分からない方へ

上記をコピってinfo.phpなど名前つけてsimple_html_dom.phpをアップした同じ階層へアップしアクセスしてください。
そうするとサーバの仕様などが一覧で表示されますので
_SERVER[“SCRIPT_FILENAME”]を探してみましょう
ghfgh
これがsimple_html_dom.phpのファイルパスになります。

初期設定は以上で完了です!編集したファイルをもう一度アップロードしてください。

最後の仕上げ工程です!もう少し!

以下のURLをアクセスしてみてください。(ホニャララは貴方のサイトURLです)

次に、以下のディレクトリのパーミッションを777に変更

最後に、以下のディレクトリの中のファイルを666に変更

これにて作業は全行程完了です!
以下URLがスクレイピングプログラム管理画面になります。(ホニャララは貴方のサイトURLです)

無事出来ましたでしょうか?
後はプログラム管理画面にベーシック認証(ログイン)をくっつけたり、管理画面の使用設定などもありますが、その辺はITかあさんの方で詳しく書かれておりますので、そちらをご閲覧くださいませ。

関連記事

    • Sora
    • 2015年 4月 18日

    はじめまして。こちらを拝見し自分のwordpress環境下にてSQLを実行したら下記エラーが発生しました。

    ———-以下引用ココカラ———-
    実行した SQL:

    # 返り値が空でした (行数 0)。
    ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    ADD INDEX ( val ) ;

    MySQL のメッセージ: ドキュメント

    #1060 – Duplicate column name ‘val’
    ———-以下引用ココマデ———-

    なにぶん素人ですのでどういう対応をしていいのか分からなかったのでこちらに書き込みをさせていただきました。フレンドサーバーで契約をしております。wordpressはいわゆる簡単インストールでインストールしました。

    エラーメッセージ解消のための対処方法を教えていただきたく存じます。

      • AIMERS CREATE
      • 2015年 4月 19日

      コメントありがとうございます。
      duplicateっていうのは読んで字のごとく重複っていう意味です。
      ここで吐き出されるエラーは、”もう既に存在してるのでSQL実行しなくていいよ~”っていう事ですね
      参考になりますかね
      よろしくどうぞ

    • Sora
    • 2015年 4月 19日

    コメントへの変身有難うございます。こちらの内容をもとにさらに作業を進めていきます!

    • tackn
    • 2015年 4月 26日

    こんにちは!
    スクレイピングの導入の仕方がわからず、何度かこちらのページを参考に設定してみたのですが、うまく行きません。

    躓きポイント
    ・database.php設定後、http://ホニャララ.com/parth/sqls/にアクセスするとエラー
    ・ファイルパス確認のため、info.phpをドメイン直下に入れるとPHP画面が表示されるが、parthフォルダにinfo.phpを設置するとMissing Controllerエラーが表示され、ファイルパスが確認できない。⇒上記ドメイン直下を参考に/parthを追加。
    ・最後の最後まで手続きを終了後、http://ホニャララ.com/parth/ または、http://ホニャララ.com/parth/sqls/ にログインしても Missing Database Tableエラーが表示。

    どこで間違っているか原因が分かりません。
    御教授願います!

      • AIMERS CREATE
      • 2015年 4月 27日

      コメントありがとうございます。
      おそらくデータベースにテーブルを作れてないからだと思われます。
      つまり最初の時点で躓いてます。

      もしかするとwp_postsというテーブル名が存在しないかもしれませんので
      MYSQLを開いてwp_postsを探してみてください。
      (ワードプレスをクイックインストールするとwp_postsが他の名前になってしまったりするので)
      ご確認宜しくどうぞ

      あ、あと
      http://ホニャララ.com/parth/sqls/
      にアクセスした際に何というエラーが出ますでしょうか

        • tackn
        • 2015年 4月 27日

        wp_を書き換えてWPをインストールしておりましたので、wp_postsが存在しないのが問題だったようです。
        SQLを実行する際はwp_を書き換えたのですが、それだけではダメだったようです。

        データベースをwp_で作成しなおしたら問題なく起動出来ました。
        ありがとうございます。

        ただ、次は運用する上で欲しい情報のx-pathを見出すのは結構労力かかりますね。

          • AIMERS CREATE
          • 2015年 4月 27日

          いけたようで良かったですね。
          x-pathで指定するとややこしいので、idやclass名で指定すると簡単ですよー
          #box .title h2 aみたいに
          詳細ページも然り

            • tackn
            • 2015年 4月 27日

            この辺のノウハウ、御教授願います!

    • AIMERS CREATE
    • 2015年 4月 28日

    ノウハウと申しますか。基本的な操作方法はITかあさんサンの方で詳しく説明しているので、そちらを熟読いただけると分かるかと!宜しくどうぞm(__)m

    • sin
    • 2015年 5月 09日

    こんにちは。いつも参考にさせていただいます。
    PHPはほぼ初心者なのですが、なんとか管理画面まではいけました。

    しかし、
    いざ実行してみると、下記のようなエラーの画面が出ます。

    Warning (2): include_once(/home3/aki/simplehtmldom_1_5/simple_html_dom.php) [function.include-once]: failed to open stream: No such file or directory [APP/controllers/items_controller.php, line 242]
    Warning (2): include_once() [function.include]: Failed opening ‘/home3/aki/simplehtmldom_1_5/simple_html_dom.php’ for inclusion (include_path=’/home3/aki/public_html/parth:/home3/aki/public_html/parth/app/:.:/opt/php54/lib/php’) [APP/controllers/items_controller.php, line 242]app/controllers/items_controller.php (line 287)

    思うに「simple_html_dom.phpを紐づける設定」が間違えているのだと思うのですが、この辺りをもう少し詳しく教えていただいてもいいでしょうか?
    どこの部分のパスをどのように変えればいいのでしょうか?
    また自分のファイルパスの参照がちょっとできません…。

    素人みたいな質問で申し訳ないのですが、ご教授いただけると幸いです。
    よろしくお願いいたします。

      • AIMERS CREATE
      • 2015年 5月 10日

      /home3/aki/simplehtmldom_1_5/simple_html_dom.phpに
      simple_html_dom.phpが存在しないとエラーが出てますね。

      phpinfoは実行されました?
      そもそもファイルがアップされていないのかも。。
      ご確認ください。

    • sin
    • 2015年 5月 11日

    ご回答ありがとうございます。

    なるほど、上記の通りinfo.phpの名前つけてsimple_html_dom.phpをアップした同じ階層(parthディレクトリ内)へアップしましが、
    アクアクセスする(http://ホニャララ.com/info.php)と、ホーム画面になって、「ページが見つかりません」という表示になり、サーバー使用の一覧が表示されません。。
    アクセスする(phpinfoを実行する)というのは上記のようにWebページでhttp://ホニャララ.com/info.phpを開くという理解でよろしいのでしょうか?

    自分でファイルパスがわかった際、下記のどこに置き換えるのでしょうか?

    function files() {
    //simple_html_domへのファイルパス
    $simple_html_dom =’/home/hoge/simplehtmldom_1_5/simple_html_dom.php’;

    //スクレイピングプログラムの設置場所 サーバーのパスではなく、URLから見た絶対パス http://example.com/wordpress/parth (これ!)
    $parth =’/parth’;

    すみませんが、よろしくお願いいたします。

    • AIMERS CREATE
    • 2015年 5月 11日

    >> アクセスする(phpinfoを実行する)というのは上記のようにWebページでhttp://ホニャララ.com/info.phpを開くという理解でよろしいのでしょうか?

    その認識で間違いありません。
    これが開けないとなるとparth設置以前の問題です。
    設置した先がルート直下ではなくディレクトリ内になっているのではないでしょうか?
    例えばhttp://ホニャララ.com/wp/info.php

    とか。。

    • sin
    • 2015年 5月 12日

    ご回答ありがとうございます!
    ルート直下にinfo.phpを置き、http://ホニャララ.com/info.phpにアクセスすると、_SERVER[“SCRIPT_FILENAME”]がある画面が出てきました!
    しかし…管理画面で実行すると、なお以下のエラーです。

    Warning (2): include_once(home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php) [function.include-once]: failed to open stream: No such file or directory [APP/controllers/items_controller.php, line 242]
    Code | Context
    ItemsController::submit() – APP/controllers/items_controller.php, line 242
    ItemsController::submit() – APP/controllers/items_controller.php, line 242
    Dispatcher::_invoke() – CORE/cake/dispatcher.php, line 204
    Dispatcher::dispatch() – CORE/cake/dispatcher.php, line 171
    [main] – APP/webroot/index.php, line 86
    Warning (2): include_once() [function.include]: Failed opening ‘home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php’ for inclusion (include_path=’/home3/aki/public_html/parth:/home3/aki/public_html/parth/app/:.:/opt/php54/lib/php’) [APP/controllers/items_controller.php, line 242]
    Code | Context
    ItemsController::submit() – APP/controllers/items_controller.php, line 242
    ItemsController::submit() – APP/controllers/items_controller.php, line 242
    Dispatcher::_invoke() – CORE/cake/dispatcher.php, line 204
    Dispatcher::dispatch() – CORE/cake/dispatcher.php, line 171
    [main] – APP/webroot/index.php, line 86
    app/controllers/items_controller.php (line 287)

    Fatal error: Call to undefined function file_get_html() in /home3/aki/public_html/parth/app/controllers/items_controller.php on line 290

    ファイルパス確認画面では、_SERVER[“SCRIPT_FILENAME”]の横に、/home3/aki/public_html/info.phpと表示されているのですが、/public_html/parth/app/controllers/components/config.phpの中を書き換えるのは、
    $simple_html_dom =’home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php’;
    でいいのでしょうか?

    public_html直下に、simplehtmldom_1_5とparthフォルダはアップロード済なのですが…。

      • AIMERS CREATE
      • 2015年 5月 12日

      $simple_html_dom =’home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php’; ではなく
      $simple_html_dom =’/home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php’;
      でいかがでしょう?念のため冒頭に/を入れるのを試していただきたいのと

      config.php内の$parth =’/parth’; これは絶対パスhttp://ホニャララ.com/●●●/parth
      という記述になっておりますでしょうか

      これでダメでしたら、
      ブラウザでsimple_html_dom.phpを見る事ができるかお試しください。問題なければcake画面になるはずなので
      http://ホニャララ.com/simplehtmldom_1_5/simple_html_dom.php

    • sin
    • 2015年 5月 13日

    ご回答ありがとうございます。

    $simple_html_dom =’home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php’; ではなく
    $simple_html_dom =’/home3/aki/public_html/simplehtmldom_1_5/simple_html_dom.php’;
    でいかがでしょう?念のため冒頭に/を入れるのを試していただきたいのと

    config.php内の$parth =’/parth’; これは絶対パスhttp://ホニャララ.com/●●●/parth
    という記述になっておりますでしょうか

    いずれも試しましたが、やはりダメでした…

    そもそもhttp://ホニャララ.com/simplehtmldom_1_5/simple_html_dom.phpでcake画面が出てこず、ページ上は空白のまま何も表示されません。。
    ちなみに、別サーバーのブログでも同じことを試しましたが、やはり何も表示されませんでした。

    もう全くお手上げでしたので、サーバーへチャットで聞いてみると、simplehtmldom_1_5フォルダ自体は正常にアップされていて問題ないとの回答でした。
    もしそれでも表示されないようだったら、php developperに確認する必要があると言われたので、確認中です。
    何度もすみません…

    • あすとら
    • 2015年 5月 25日

    http://sample.com/parth/sqls/にて下記のエラーが吐出されてしまいました。
    何が原因なのでしょうか。
    ご教授をおねがいします。

    Missing Controller
    Error: SqlsController could not be found.

    Error: Create the class SqlsController below in file: app\controllers\sqls_controller.php

    Notice: If you want to customize this error message, create app\views\errors\missing_controller.ctp

    • あすとら
    • 2015年 5月 25日

    連投すいません。
    http://sample.com/parth/items/submit_all/
    にて
    Error: Confirm you have created the file: D:\xampp\htdocs\wordpress\parth\app\views\items\submit_all.ctp
    とのエラーが出ました。
    確認すると確かにsubmit_all.ctpという名前のファイルが存在しないのですが、私だけでしょうか?
    もちろん、公式の
    http://www.kaasan.info/archives/category/php%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0
    よりダウンロードしました。

    • AIMERS CREATE
    • 2015年 5月 27日

    正直分かりかねますが、ITかあさんのスクレイピングシステムはcakeベースで作成されています。ですので、サーバの仕様を把握するためにもcakeからインストールしてみるのも解決の糸口になるかもしれません。

    考えらえるのは
    ・サーバの仕様(作動環境を満たしてないケース)
    ・DBがきちんと作れていない
    ・パーミッション(ヒューマンエラー、もしくはFTP環境に引き起こるケース)

    ちなみにsubmit_all.ctpは必要ないようですよ~
    よろしくどうぞ

  1. 非常に丁寧な記事をありがとうございます。
    記事やコメント、検索エンジンを使っても解決できなかったので、質問させていただきます。

    一応最期まで進んだのですが、添付URLのようにエラーとなってしまいます。
    サーバーは、FC2サーバーを使っていて自動インストールでWordPressをインストールしました。

    MySQL内に「wp_posts」テーブルはありました。
    キャプチャ画像⇒ http://enter-land.com/cap1.PNG

    大変お手数ですが、お手空きの時にでもご対応いただけたら幸いです。
    また、有料サポートプランなどあれば(http://blog.livedoor.jp/flow_short9/archives/1009934526.htmlではあったようなので)
    そういったご提案もいただけたら検討させていただきます。

    今後とも宜しくお願い致します。

      • AIMERS CREATE
      • 2015年 6月 04日

      柴田さんのinfo.phpが見れたので、それを見たところ、おそらくソケットへのパスを記述すれば良いかと
      ワードプレスの情報を書いたdatabase.phpに
      ‘port’ => ‘/var/run/mysqld/mysqld.sock’,
      を追加してやり直してみてください。

      またお手伝い?に関しては、海外サーバ+スクレイピングシステムのパックの提供を仕込み中ですので、もしニーズに合えば是非ご利用ください。
      この辺は近いうちに記事書くつもりです。
      宜しくお願いします。

    • あずま
    • 2015年 6月 16日

    はじめまして、いつも拝見しております。

    スクレイピングプログラムについて教えていただきたいのですが、
    下記のエラーがスクレイピングプログラムを実行すると出てきて先に勧めません。。。
    解決方法はありますでしょうか?
    お時間があれば返信お願い致します。

    Warning (2): Cannot modify header information – headers already sent by (output started at /home/eroerokk/public_html/ero-ero.club/parth/cake/basics.php:130) [CORE/cake/libs/controller/controller.php, line 740]
    Code | Context
    */
    function header($status) {
    header($status);
    $status = “Location: http://ero-ero.club/parth/items/
    header – [internal], line ??
    Controller::header() – CORE/cake/libs/controller/controller.php, line 740
    Controller::redirect() – CORE/cake/libs/controller/controller.php, line 720
    ItemsController::submit() – APP/controllers/items_controller.php, line 481
    Dispatcher::_invoke() – CORE/cake/dispatcher.php, line 204
    Dispatcher::dispatch() – CORE/cake/dispatcher.php, line 171
    [main] – APP/webroot/index.php, line 86

      • AIMERS CREATE
      • 2015年 6月 19日

      header関数のエラーみたいなので、構文をいじってない限りはBOMありなしが原因じゃないかと思います。
      ファイルを編集時に「BOMなし」で編集できるメモ帳でチャレンジしてはどうでしょう?
      win機であればterapadかsakuraエディタがおすすめです。

      それでもダメでしたら、やはりcakephpが正常にインストールされるかという所から試した方が良さそうです。
      よろしくどうぞ

    • かじ
    • 2015年 6月 22日

    はじめまして。初めてスクレイピング機能を有したホームページ作りにチャレンジしております。

    最後の仕上げ工程です!もう少し!
    という記事のところまで来ております。

    自分のサイトURL”http://ホニャララ.com/parth/sqls/”
    と入力しましたところ、以下のようなエラー文が出てしまいました。

    Warning (512): SQL Error: 1060: Duplicate column name ‘val’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

    Query: ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    ADD INDEX (val);

    Warning (512): SQL Error: 1060: Duplicate column name ‘item_id’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

    Query: ALTER TABLE wp_posts ADD item_id INT NULL ,
    ADD INDEX ( item_id );

    Warning (2): Cannot modify header information – headers already sent by (output started at /home1/eronavco/public_html/parth/cake/libs/debugger.php:686) [CORE/cake/libs/controller/controller.php, line 742]

    作業工程はすべて記事通りに進めたところなのですが、どのように対応すればよいのかご教授願えませんでしょうか?
    よろしくお願いたします。

      • かじ
      • 2015年 6月 22日

      すみません、上の方にあるコメントを読んで自己解決しました。
      ありがとうございました。

      このスクレイピングシステムは、マルチサイト化したワードプレスでも使用できるのでしょうか?

        • AIMERS CREATE
        • 2015年 6月 22日

        使用できます。
        しかしながら1つのDBテーブルを使いまわしているケースだとスクレイピングシステムも共用になってしまうかもしれませんね。
        皆さん勉強になるかと思いますのでお試しいただいた後、ご報告書いていただけると幸いです。(お手間じゃなければ…)
        宜しくどうぞ

      • 森田
      • 2016年 8月 01日

      初めまして。
      私も”http://ホニャララ.com/parth/sqls/”
      の段階で以下のようなエラーが出てしまいました。

      Warning (512): SQL Error: 1060: Duplicate column name

      かじ様は上の方を見て自己解決とありましたが、どのようにされたのでしょうか。
      あるいはこちらの板のどこを参考にされたのでしょうか

    • かじ
    • 2015年 6月 23日

    たびたびすみません。
    こちらのスクレイピングシステムで、動画サイト等のiframe内の動画を投稿記事内にアップするためにスクレイピングすることはできないのでしょうか?

    xVideosで試しているのですが、動画を抜くことができません。

    ご教授願えればありがたいのですがよろしくお願いいたします。

      • AIMERS CREATE
      • 2015年 6月 23日

      できますよ~

      記憶があいまいですが、
      app/controllers/items_controller.phpの中の
      615行目あたり //WordPressの記事本文。改行とaタグのみを許可
      358行目あたり //WordPressの記事本文。iframeとimgタグのみを許可
      どっちかを引っ張ってくるタグ(例えばdivとかspanとかb)を追記してあげれば良かったかと。

      よろしくどうぞ

        • かじ
        • 2015年 6月 24日

        ご回答ありがとうございます。
        上記の部分を試してみましたが、うまくいきません。
        おそらくパスの指定の仕方が問題と思うのですが・・・

        自分の理解だと
        ttp://ero-nav.com/Xvideo.jpg
        写真の赤線の部分を抜き出して記事に張ることが出来ればよいのだと思っているのですが、これができません。
        赤枠の中にそのiframeの記述を確認しているのですが、このiframeタグを抜き出すのも上記の対応でできるのでしょうか?

        もしくは他の方法で記事内に動画を張り付けることが出来るのでしょうか?

        プロの方にお時間を割かせてしまい大変申し訳なく思っております。設定コンサルタントなどで報酬をお支払いさせていたたいと思っておるのですがいかがでしょうか?

          • AIMERS CREATE
          • 2015年 6月 24日

          画像拝見しました。
          理屈で言えばinput value=””の中だけを抜粋してくるか、inputごと抜粋してきてwordpress側で置換してあげるとかですかねぇ
          replace関数が使えそうです。
          http://kachibito.net/wp-code/replace-keywords

          xvideos本体から抜粋するんだったらデータベース情報が配布されているのでCSVを丸ごとwordpressにアップするっていうのも手ですが、、
          この辺のシステムは今構築中なので、近いうちに宣伝させていただきます汗

    • tomo
    • 2015年 7月 07日

    初めまして、現在スクレイピングの設定を参考にさせていただいております。
    tomoと申します。

    私は、futokaのサーバーを利用しているのですが、

    簡単ワードプレスでインストールをし、

    「まずはワードプレスをインストールし、環境を整えておいてください。」

    記載のある下のコードをワードプレスのsqlで実行していますが、

    エラーになってしまいます。

    # 返り値が空でした (行数 0)。

    という文章がでてくるのですが、

    サーバーに問い合わせてもサポート外と言われてしまいます。

    どのようにすればよいでしょうか?

    アドバイス頂けないでしょうか?

    お願いいたします。

      • AIMERS CREATE
      • 2015年 7月 07日

      簡単ワードプレスでインストールを行った場合は接頭辞に半角英数字が付けられてしまうのが原因です。
      wp-config.phpを開いてtable_prefixを確認してALTER TABLEのSQLを書き換えるか、
      それがよく分からないのであれば手作業でインストールをしてみるといいかもしれません。

      宜しくどうぞ

        • tomo
        • 2015年 7月 08日

        お世話になります。tomoと申します。
        先日は早速のご回答ありがとうございました。

        アドヴァイスをいただき、手動でワードプレスをインストールを行いました。

        しかし、# 返り値が空でした (行数 0)。の表示が出てしまいます。

        やはりtable_prefixを確認してALTER TABLEのSQLを書き換えるしかないのでしょうか?

        もしそのような場合どのような内容を記載すればよいのでしょうか?
        大変あつかましいとは存じますが、ご教授いただけないでしょうか?

        お願いいたします。

          • AIMERS CREATE
          • 2015年 7月 09日

          ALTER TABLEのSQLですが、table_prefixが$table_prefix = ‘wp_’;になっていれば書き換える必要はないと思います
          もし書き換える場合は’wp_’の部分を変更すればいいだけです、なのでwp_postsがaaa_postsになったり、bbb_postsになっていたりーという事です。

          宜しくどうぞ

            • tomo
            • 2015年 7月 09日

            大変親切で分かりやすく教えていただきありがとうございます。
            チャンレンジしてみます。

    • さおり
    • 2015年 7月 08日

    はじめましてこんにちわ!
    今スクレイピングプログラムのインストールは終わったのですが、使い方のところで躓いてしまいました。
    仮にhttp://nicovideo.tokyoのようなサイトを作りたいと思ったら、プログラムに手を入れる必要はありますか?

    アドバイスよろしくお願いします。

      • AIMERS CREATE
      • 2015年 7月 09日

      作ろうと思えば作れます~しかしスクレイピングにはコツがあって知識も必要です。
      というか今、そういうものを作っているのでお待ちくださ-い

        • さおり
        • 2015年 7月 10日

        お返事ありがとうございます!
        了解しました!お待ちしてます!

    • tomo
    • 2015年 7月 09日

    何度もお伺いして大変申し訳ございません。
    スクレイピングのアドバイスのおかげでスクレイピングの管理画面まで到達しました。
    ありがとうございました。

    またご質問なのですが、
    管理画面の「一括スクレイピング」と「使い方」
    のページが何度やっても表示させることができません。
    「url一括登録」と「url単発登録」は管理画面から変わるのですが、

    ワードプレスにsqlを5つ読み込んでいるのですが表示されません。
    どうのようにすればよいのでしょうか?
    お時間ある時で構いません、教えていただけないでしょうか?
    お願いいたします。

      • AIMERS CREATE
      • 2015年 7月 17日

      お返事失念しておりましたすみません。
      現在、私の方でITかあさん様のプログラムを稼働させてないので何ともいえませんが、「使い方」は確かに見れなかったような。。

      もう1点。
      「ワードプレスにsqlを5つ読み込んでいる」
      こちら補足していただけると事象把握しやすいかもです。

      宜しくどうぞ

    • hosokawa
    • 2015年 7月 24日

    はじめまして。

    こちらのサイトを参考にさせて頂き、ようやくスクレイピング実行まで出来るようになりました。

    ですが、どうしても画像をワードプレスに反映することができず一昼夜悩んでおりました。

    何かプログラムに手を加えなければ画像をワードプレスに反映させることは出来ないのでしょうか?

    もし可能でしたら、画像の反映方法をご教授頂けませんでしょうか。

    宜しくお願い致します。

      • AIMERS CREATE
      • 2015年 7月 26日

      app/controllers/items_controller.phpの中の
      615行目と358行目あたりにimgを指定してあげれば画像をスクレイピングできます。

      ただ画像が直リンクになってしまうので
      とりこんだ後はAuto Post Thumbnailというプラグインを使ったりして自サバにコピーするようにした方が宜しいかと

      宜しくどうぞ

        • hosokawa
        • 2015年 7月 27日

        お忙しい中、ご教授ありがとうございます。

        > 615行目と358行目あたりにimgを指定してあげれば画像をスクレイピングできます。

        との事ですが、これは例えばコメントアウトされている605行目と348行目のような
        式を追加してあげれば良いと言う事なのでしょうか?

        imgを指定する具体的な方法が分からず、悩んでしまいました。。

        もし出来ましたら上記の具体的な方法を教えて頂けませんでしょうか。

        宜しくお願い致します。

          • AIMERS CREATE
          • 2015年 7月 29日

          確か要素を指定するセレクタの使い方と同様だったような気がします。
          例えばCSSやjqueryの書き方と同じですので、画像だったら単純に”img”だけで良いとは思いますが
          お試しくださいー

  2. 管理人様

    初めましてyoshiと申します。
    ご教授願います。
    「IT社畜がおくる不労所得への近道」を拝見しましてチャレンジしています。

    レンタルサーバー:フレンドサーバー

    最初から躓いております。
    「phpmyadminにアクセスして以下のSQLを上から順番に実行していってください。」

    SQLを実行したところ「返り値が空でした (行数 0)」エラー表示になります。
    上の方を参考に色々確認しました。

    1.MySQL内に「wp_posts」 =有りました。
    2.wp-config.phpを開いてtable_prefixを確認=$table_prefix = ‘wp_’;でした。

    再度phpmyadminに入力し実行しましたが、やはり「返り値が空でした (行数 0)」エラー表示でした。

    これだけの情報だけですみませんがアドバイスをお願いします。

    お時間ある時で構いません、ご教示していただけないでしょうか?

    お願いいたします。

      • AIMERS CREATE
      • 2015年 8月 11日

      すみません1点気になったのですが、まさか1行ずつSQLを実行されてますでしょうか?
      それでしたら
      ———————–
      CREATE TABLE IF NOT EXISTS items (
      id int(11) NOT NULL AUTO_INCREMENT,
      name varchar(255) DEFAULT NULL,
      url varchar(255) DEFAULT NULL,
      term_id int(11) DEFAULT NULL,
      tag varchar(255) DEFAULT NULL,
      tag2 varchar(255) DEFAULT NULL,
      page varchar(255) DEFAULT NULL,
      encode varchar(255) DEFAULT ‘UTF-8’,
      full_path varchar(255) DEFAULT NULL,
      created datetime DEFAULT NULL,
      modified datetime DEFAULT NULL,
      count int(11) DEFAULT ‘0’,
      PRIMARY KEY (id),
      KEY count (count),
      KEY term_id (term_id)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      ———————–
      をワンセットの要領で実行してみてください。

      上記ではないという事であれば、あとは他ブラウザで試すか、手動でインスコしてみるかですかね。
      お試しください

  3. 管理人様

    連絡有難う御座います。

    上記の件、SQLは、セットで実行しています。
    違うブラウザで試してみましたが、答えは、一緒でした。
    手動のインスコについては、ちょっと難しそうなのでやめときます。
    レンタルサーバーを変更してチャレンジしてみます。
    おすすめのレンタルサーバーは、有りますでしょうか?。

      • AIMERS CREATE
      • 2015年 8月 12日

      ○レンドサーバさんは安かろう悪かろうなので。。
      問い合わせすら返ってきませんよねぇ。

      日本経由のアダ可だとカゴヤさん、もしくはFC2さんですかねぇ

      非アダルトであればヘテムルさんが無難(GMO系鯖屋で一番マメ)
      サクラさんは担当者レベル(公式には書いてませんがモロ出し以外なら全然OK!とおっしゃる担当も微レ存)

      ちょこっと英語ができれば海外サーバ丸ごと(専サバ)月々100円とかザラにあるので、探してみるといいかもしれませんが、ここではあえて誘導しません
      無難にいくのであればルナスケさん、ホストゲーターさんとか

      サーバ仕様も不透明なのでココ!と一概には言えませんが。。参考になりますかね

      宜しくどうぞ

    • koike
    • 2015年 8月 14日

    管理人様

    はじめまして。koikeと申します。

    管理人様のサイトを拝見し、早速試してみたのですが、下記のエラーがでて
    先に進めなくなりました。

    Warning: Unexpected character in input: ” (ASCII=26) state=0 in /html/parth/app/config/database.php on line 99
    Warning (512): SQL Error: 1060: Duplicate column name ‘val’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

    Query: ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    ADD INDEX (val);

    Warning (512): SQL Error: 1060: Duplicate column name ‘item_id’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

    Query: ALTER TABLE wp_posts ADD item_id INT NULL ,
    ADD INDEX ( item_id );

    Warning (2): Cannot modify header information – headers already sent by (output started at html/parth/app/config/database.php:99) [CORE/cake/libs/controller/controller.php, line 742]

    Alterテーブルのエラーの意味はわかりますが、Unexpected character in input: ” (ASCII=26)が修正できません。
    全角文字とかは入れてないのですが、ダウンロードしたプログラム自体がタブでスペースを切っているようで、それが
    問題なのでしょうか?
    たとえば、下記のvarやdriverなどの前の空白がタブでスペースを切られています。(database.php)
    class DATABASE_CONFIG {

    var $default = array(
    ‘driver’ => ‘mysql’,
    ‘persistent’ => false,
    ‘host’ => ‘localhost’,
    ‘login’ => ‘mysql’,
    ‘password’ => ‘*******’,←半角文字と数字の組み合わせです。
    ‘database’ => ‘mysql’,
    ‘prefix’ => ”,
    ‘encoding’ => ‘utf8’,
    );

    var $test = array(
    ‘driver’ => ‘mysql’,
    ‘persistent’ => false,
    ‘host’ => ‘localhost’,
    ‘login’ => ‘user’,
    ‘password’ => ‘password’,
    ‘database’ => ‘test_database_name’,
    ‘prefix’ => ”,
    //’encoding’ => ‘utf8’,
    );
    }
    変な,や全角空白は入っていないとおもいます。^^;;; 一応何度も見返しましたが。
    もしこのtab空白が問題となると、parth内のプログラム全体となり相当な修正となる感じのようです。
    お手数をおかけ致しますが、ご教示お願いいたします。

      • AIMERS CREATE
      • 2015年 8月 20日

      初めてみるエラーですね。。
      ダウンロードしたファイルを編集する段階でおかしくなってるのは間違いないと思いますので、他のエディタを使ってみるのはいかがでしょうか?
      設定上はUTF8になってても中身はSHIFT-JISになってるケースもたまーにあるので。
      それでダメならcake単体でインストールしてみたり検証される事をおすすめします。
      よろしくどうぞ

    • hayashi
    • 2015年 9月 04日

    はじめまして。
    管理人様。

    そちらのサイトを参考にさせていただき、

    「http://ホニャララ.com/parth/sqls/」の確認まで進みましたが、

    下記のようなエラーが出てしまいます。

    Warning (2): mysql_connect() [function.mysql-connect]: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 561]

    Warning (2): mysql_query() expects parameter 2 to be resource, boolean given [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 613]

    Warning (2): Cannot modify header information – headers already sent by (output started at /usr/home/aa2506efw9/html/parth/cake/libs/debugger.php:686) [CORE/cake/libs/controller/controller.php, line 742]

    ちなみにwp_postsは作成されております。

    サーバーはCPIサーバーの共用サーバーです。(現在はテスト環境化)

    お忙しいところ、申し訳ありませんが、お知恵をお借りできないでしょうか・・・。

    よろしくお願いいたします。

      • hayashi
      • 2015年 9月 07日

      自己レスです。
      テスト環境から公開環境にて実施したところ、問題なく稼働しました。
      大変、失礼いたしました。

        • AIMERS CREATE
        • 2015年 9月 07日

        原因はステージング環境がローカルだったりでしょうか?
        何より動作されたようで良かったです

          • hayashi
          • 2015年 9月 08日

          お返事ありがとうございます。
          たびたび申し訳ありません・・・。

          「/parth/」では管理画面が表示されますが、
          「/parth/sqls/」では下記エラーとなってしまいます。

          Warning (512): SQL Error: 1060: Duplicate column name ‘val’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
          Query: ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
          ADD INDEX (val);

          Warning (512): SQL Error: 1060: Duplicate column name ‘item_id’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
          Query: ALTER TABLE wp_posts ADD item_id INT NULL ,
          ADD INDEX ( item_id );

          Warning (2): Cannot modify header information – headers already sent by (output started at /usr/home/aa2506efw9/html/parth/cake/libs/debugger.php:686) [CORE/cake/libs/controller/controller.php, line 742]

          ちなみにCPIサーバーですと環境は下記です。

          テスト環境:サーバー側の配給した任意のドメイン(公開状態)
          本番環境:こちらの設定したドメイン

          前のレスに同様の質問がありましたが、どのように解決されたかわかりませんでしたので、
          お手数ですが、ご教授いただけないでしょうか?

            • hayashi
            • 2015年 9月 08日

            同環境の情報がありました。

            http://www.cpi.ad.jp/function/php_info/phpinfo559.html

            パーミションの問題なのでしょうか・・・。(手順にあるファイルのパーミションは変更済みです)

            お忙しいところ、申し訳ありませんが、よろしくお願いいたします。

            • AIMERS CREATE
            • 2015年 9月 09日

            Duplicateは重複ですね。
            Cannot modify header information – headers already sent by に関してはメモ帳が怪しいかなぁと思います。ボムありなしやアップロード時にASCIIでアップ出来てるか等、再度確認してみるといいかもしれません。

            よろしうどうぞ

    • 挫折前
    • 2015年 9月 16日

    様々な情報を加味して作業を進めましたが、どうにも設置が完了できずに
    挫折間近です。。。しかし、どうしても稼働させて見たいので、最後の頼みの綱に質問させて頂きます。

    現在設置しているのは、さくらサーバーです。
    クイックインストールは使わず、FTPソフトを利用してインストールしています。
    parthの設置場所に問題はないと思います。

    parth/app/controllers/components/config.php内の設定は、

    //simple_html_domへのファイルパス
    $simple_html_dom =’/home/XXXXXX/www/XXXXXX/parth/simple_html_dom.php’;

    //スクレイピングプログラムの設置場所 サーバーのパスではなく、URLから見た絶対パス
    $parth =’http://XXXXXX.jp/parth’;

    この様に指定しています。

    パーミッションの設定も完了しました。
     
    http://XXXXXX.jp/parth/ にアクセスすると管理画面は表示されます。
    しかし、parth/sqls/にアクセスすると、

    Warning (512): SQL Error: 1060: Duplicate column name ‘val’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Query: ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    ADD INDEX (val);

    Warning (512): SQL Error: 1060: Duplicate column name ‘item_id’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Query: ALTER TABLE wp_posts ADD item_id INT NULL ,
    ADD INDEX ( item_id );

    Warning (2): Cannot modify header information – headers already sent by (output started at /home/XXXXX/www/XXXXX/parth/cake/libs/debugger.php:686) [CORE/cake/libs/controller/controller.php, line 742]

    このようなエラーがでます。また、表示される管理画面にて可能な限り操作を進めましたが、
    スクレイピングの実行を行った際に、

    app/controllers/items_controller.php (line 287)
    ・・・
    app/controllers/items_controller.php (line 302)
    ・・・
    Warning (2): Cannot modify header information – headers already sent by (output started at /home/XXXXX/www/XXXXX/parth/cake/basics.php:130) [CORE/cake/libs/controller/controller.php, line 742]

    このようなエラーが出ます。

    大変申し訳なく思いますが、ご指導願います。

      • AIMERS CREATE
      • 2015年 9月 24日

      お返事遅れました!
      parth/sqls/へのアクセスは重複っぽいのでそのままにしておくとして、
      特筆すべきはスクレイピングの実行後のエラーに関してですが、念の為すべてのphpを保存するときに「BOMなし」の設定で保存してみるのも手かもしれません。

      また本件とはそれますが、スクレイピング実行時間が長いとサーバによってはうまく動作しないようです。
      実行時間に制限があるため。

      よろしくどうぞ

      • お返事ありがとうございます。

        ご指導を元に様々な事を自分なりに試してみましたが、一向に改善されません。

        もしやサーバーの問題かと想定し、さくらのレンタルサーバーで試していたのを、さくらのVPSで試して、そして果てにはヘテムルに変えて見ましたが、エラーメッセージの内容は変わりません。

        CakePHPも再インストールしましたし、一番に「BOMなし」も実行しました。

        他の方々は、改善している模様ですが、何が悪いのかさっぱりわかりません。

        今一度、ご教授願います。

          • AIMERS CREATE
          • 2015年 10月 05日

          コメントありがとうございます。
          色々試されたとの事で、正直中身を見てみないと何とも言えません。。

          宣伝みたいになってしまうので以下スルーでかまいませんが、
          どうしても設置をしたいという事であれば最近独立した後輩エンジニアがCakePHP分かるので安くやってくれるかもしれません。人一倍頑張り屋さんなので。。

          お問い合わせよりご相談ください
          その際は私入らずに直接やりとりしてかまいませんので

          よろしくご検討ください

    • あしのゆ
    • 2015年 10月 25日

    cronで自動実行させたいんですが、どのファイルを指定すればいいのか分かりません・・・
    調べてもcronでとしかないんですが、simple_html_dom.phpを回せばいいんですか?

      • AIMERS CREATE
      • 2015年 10月 26日

      いやいや、今回のものはcron自体の設定は必要ないです。
      ワードプレス側かcake側で疑似的にセットされるはずなので~

    • take
    • 2015年 10月 28日

    はじめまして。
    手順通りに設定しているのですが、うまく稼働しないのでご教授いただけたらと思い投稿いたしました。

    parth/app/controllers/components/config.php内の設定は、

    //simple_html_domへのファイルパス
    $simple_html_dom =’/home/◯◯◯/www/△△△/test/parth/simple_html_dom.php’;

    //スクレイピングプログラムの設置場所 サーバーのパスではなく、URLから見た絶対パス
    $parth =’http://☓☓☓.com/test/parth’;

    テーブルの作成とパーミッションの設定も完了しています。

    http://☓☓☓.com/test/parth/
    にアクセスすると、管理画面は表示されるのですが、
    CSSが反映されておりません。
    ソースを見るとCSSとJSのパスが以下のようになっています。

    何かの設定がまずいのでしょうか?

    ちなみに、スクレイピングも試してみました。
    URL一括登録 → 情報を入力後OKボタンクリック → 正しく情報を取得 → 登録ボタンクリック
    結果は
    http://☓☓☓.com/parth/items/add/
    に遷移し、「ページが見つかりません」となりました。
    遷移先のURLに「test」ディレクトリがありませんでした。

    以上、お忙しいところお手数をおかけいたしますが、
    ご回答いただけますと大変助かります。
    よろしくお願いいたします。

      • take
      • 2015年 10月 28日

      すみません、タグの部分が弾かれてるようです。
      以下のようになっています。

      <link rel=”stylesheet” href=”/parth/css/common.css” type=”text/css” />
      <script type=”text/javascript” src=”/parth/js/jquery.js”></script>

      • take
      • 2015年 11月 06日

      すみません。
      自己解決しました。

      以下のファイル内に「/parth」というように
      ドキュメントルートのparthフォルダを見に行く記述がありましたので
      「<?php echo $parth; ?>」に変更することで、
      parth/app/controllers/components/config.phpの$parthに設定したURL配下の
      parthフォルダを参照するようになり、正しく動作しました。

      parth/app/views/layouts/layout.ctp
      parth/app/views/items/index.ctp
      parth/app/views/items/edit.ctp
      parth/app/views/items/url.ctp

    • winwin
    • 2015年 10月 31日

    参考にさせて頂いてます。

    一通り作業してスクレイピングプログラムは表示したのですが、css・jsが「Not Found」になり読み込めてません。また、こちら「/parth/items/url/」「/parth/items/items_add/」「/parth/items/submit_all/」のページも表示てなく全く機能しません。

    対策等教えていただけないでしょうか?

    また、他に必要情報があればお伝えします。

    • max
    • 2015年 11月 21日

    お世話になります。

    やっと時間が出来たので挑戦しているのですが、http://xxxxx.com/parth/sqls/で下記エラー

    Warning (512): SQL Error: 1046: No database selected [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Code | Context
    $sql = “SHOW FULL COLUMNS FROM wp_posts
    $error = “1046: No database selected”
    $out = null
    DboSource::showQuery() – CORE/cake/libs/model/datasources/dbo_source.php, line 684
    DboSource::execute() – CORE/cake/libs/model/datasources/dbo_source.php, line 266
    DboSource::fetchAll() – CORE/cake/libs/model/datasources/dbo_source.php, line 410
    DboSource::query() – CORE/cake/libs/model/datasources/dbo_source.php, line 287
    DboMysqlBase::describe() – CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 125
    Model::schema() – CORE/cake/libs/model/model.php, line 929
    Model::setSource() – CORE/cake/libs/model/model.php, line 780
    Model::__construct() – CORE/cake/libs/model/model.php, line 474
    Post::__construct() – APP/models/post.php, line 8
    ClassRegistry::init() – CORE/cake/libs/class_registry.php, line 142
    Controller::loadModel() – CORE/cake/libs/controller/controller.php, line 637
    Controller::constructClasses() – CORE/cake/libs/controller/controller.php, line 502
    Dispatcher::_invoke() – CORE/cake/dispatcher.php, line 186
    Dispatcher::dispatch() – CORE/cake/dispatcher.php, line 171
    [main] – APP/webroot/index.php, line 86
    Query: SHOW FULL COLUMNS FROM wp_posts

    Warning (2): Invalid argument supplied for foreach() [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127]
    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: CREATE TABLE IF NOT EXISTS items (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(255) DEFAULT NULL,
    url varchar(255) DEFAULT NULL,
    term_id int(11) DEFAULT NULL,
    tag varchar(255) DEFAULT NULL,
    tag2 varchar(255) DEFAULT NULL,
    page varchar(255) DEFAULT NULL,
    encode varchar(255) DEFAULT ‘UTF-8’,
    full_path varchar(255) DEFAULT NULL,
    created datetime DEFAULT NULL,
    modified datetime DEFAULT NULL,
    count int(11) DEFAULT ‘0’,
    PRIMARY KEY (id),
    KEY count (count),
    KEY term_id (term_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    Query: CREATE TABLE IF NOT EXISTS tags (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(255) DEFAULT NULL,
    item_id int(11) DEFAULT NULL,
    tag varchar(255) DEFAULT NULL,
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    Query: ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    ADD INDEX (val);

    Query: ALTER TABLE wp_posts ADD item_id INT NULL ,
    ADD INDEX ( item_id );

    Query: ALTER IGNORE TABLE wp_posts ADD UNIQUE (
    val
    );

    Warning (2): Cannot modify header information – headers already sent by (output started at /home/xxxxx/xxxxxxx.com/public_html/parth/cake/libs/debugger.php:686) [CORE/cake/libs/controller/controller.php, line 742]

    http://xxxxx.com/parth/では下記の表示になってしまいます。

    Warning (512): SQL Error: 1046: No database selected [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Query: SHOW FULL COLUMNS FROM items

    Warning (2): Invalid argument supplied for foreach() [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127]
    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: SHOW FULL COLUMNS FROM wp_posts

    Query: SHOW FULL COLUMNS FROM wp_terms

    Query: SHOW FULL COLUMNS FROM wp_terms

    Query: SHOW FULL COLUMNS FROM wp_terms

    Query: SHOW FULL COLUMNS FROM wp_terms

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM tags

    Query: SHOW FULL COLUMNS FROM tags

    Query: SHOW FULL COLUMNS FROM tags

    Query: SHOW FULL COLUMNS FROM tags

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM wp_term_taxonomy

    Query: SHOW FULL COLUMNS FROM items

    Warning (2): array_keys() expects parameter 1 to be array, boolean given [CORE/cake/libs/model/datasources/dbo_source.php, line 1967]
    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM items

    Query: SELECT COUNT(*) AS count FROM items AS Item LEFT JOIN wp_terms AS Term ON (Item.term_id = Term.term_id) WHERE 1 = 1

    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM items

    Warning (2): array_keys() expects parameter 1 to be array, boolean given [CORE/cake/libs/model/datasources/dbo_source.php, line 1980]
    Warning (2): array_filter() expects parameter 1 to be array, null given [CORE/cake/libs/model/datasources/dbo_source.php, line 1984]
    Warning (2): array_values() expects parameter 1 to be array, null given [CORE/cake/libs/model/datasources/dbo_source.php, line 1984]
    Warning (2): array_unique() expects parameter 1 to be array, null given [CORE/cake/libs/model/datasources/dbo_source.php, line 2066]
    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM wp_terms

    Query: SHOW FULL COLUMNS FROM wp_terms

    Query: SHOW FULL COLUMNS FROM items

    Warning (2): array_merge() [function.array-merge]: Argument #1 is not an array [CORE/cake/libs/model/datasources/dbo_source.php, line 1313]
    Query: SHOW FULL COLUMNS FROM items

    Query: SHOW FULL COLUMNS FROM items

    Warning (2): array_unique() expects parameter 1 to be array, null given [CORE/cake/libs/model/datasources/dbo_source.php, line 1252]
    Query: SHOW FULL COLUMNS FROM items

    Warning (2): implode() [function.implode]: Invalid arguments passed [CORE/cake/libs/model/datasources/dbo_source.php, line 1474]
    Warning (512): SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘FROM items AS Item LEFT JOIN wp_terms AS Term ON (Item.term_id = Te' at line 1 [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Query: SELECT FROM
    items AS Item LEFT JOIN wp_terms AS Term ON (Item.term_id = Term.term_id) WHERE 1 = 1 ORDER BY Item.id` DESC LIMIT 1000

    何としても完成させたいのでご教授願います。
    サーバーはエックスサーバーです。
    エロ無しでテストしようと思っています。

    • max
    • 2015年 11月 21日

    ごめんなさい!
    先ほどの質問ですが事故解決しました。

    無事管理画面の表示に成功しました。
    ただ下記にログインすると、

    http://xxxxx/parth/sqls/

    Warning (512): SQL Error: 1060: Duplicate column name ‘val’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Query: ALTER TABLE wp_posts ADD val VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    ADD INDEX (val);

    Warning (512): SQL Error: 1060: Duplicate column name ‘item_id’ [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
    Query: ALTER TABLE wp_posts ADD item_id INT NULL ,
    ADD INDEX ( item_id );

    Warning (2): Cannot modify header information – headers already sent by (output started at /home/xxx/xxxx.com/public_html/parth/cake/libs/debugger.php:686) [CORE/cake/libs/controller/controller.php, line 742]

    このようなエラーがでます。

    お手すきの時にでもご教授願います。

    • musashi
    • 2016年 6月 20日

    コチラのサイトを参考にしてスクレイピングシステムを導入しようとしたのですが。
    FTP上でparthフォルダをアップロードしたところ、httpdocs内のparth以外のフォルダが全て消失してしまいました。
    消えてしまったものはしょうがないのでいいのですが、アップロードにも何かちゃんとしたアップロード方法があるのでしょうか?
    ちなみに私はデスクトップ上のparthフォルダをFFFTPウィンドウ内にドラッグするという形をとりました。

      • AIMERS CREATE
      • 2016年 6月 22日

      FTPクライアントによっては不具合でデータ消失してしまうケースが稀にあります。
      ドラッグによるファイル操作はPCスペックによっては変なところに格納されてしまったり遅延のための誤入力が発生したりするのでおすすめしません。
      いくつか有名なFTPソフトがあるので、いろいろ試してみるのがいいでしょう

    • はまわたり
    • 2016年 8月 12日

    こちらの記事のおかげで管理画面までたどり着けました。
    ありがとうございます。

    ローカル環境にて、
    http://localhost/sample/parth/がスクレイピングプログラムの管理画面になるのですが、
    おや、見た目が違うと思いソースを見たら以下のように、CSSやJSのそれぞれのリンクのパスが不完全でした。

    このパスはどこを修正すればよろしいかご教授いただけませんでしょうか?

    スクレイピングプログラム
    のように、
    config.phpで設定した$parth =’http://localhost/sample/parth’;から生成してくれるのではないのでしょうか?

      • AIMERS CREATE
      • 2016年 8月 12日

      今現在、このプログラムを稼働させていないので具体的なご返答は出来ませんが、私だったらファイル内の文言を一括検索できるツールで記載場所を探して、CSS等のパスを書いてある場所は探して書き換えてしまいますね。
      TExchangeというツールがおすすめです。

        • はまわたり
        • 2016年 8月 12日

        おすすめまで教えていただいてありがとうございます。
        てっきりCSSへのパスもエコーしてる物だと思い込んでいました。
        チェック不足です。基本に立ち帰り精進します。

    • はまわたり
    • 2016年 8月 12日

    すみません。takeさんの投稿で
    自己解決しました。

    take :
    すみません。
    自己解決しました。
    以下のファイル内に「/parth」というように
    ドキュメントルートのparthフォルダを見に行く記述がありましたので
    「<?php echo $parth; ?>」に変更することで、
    parth/app/controllers/components/config.phpの$parthに設定したURL配下の
    parthフォルダを参照するようになり、正しく動作しました。
    parth/app/views/layouts/layout.ctp
    parth/app/views/items/index.ctp
    parth/app/views/items/edit.ctp
    parth/app/views/items/url.ctp

      • AIMERS CREATE
      • 2016年 8月 12日

      事後報告ありがとうございます。同じ問題にぶつかった方の糧になると思います。

AIMERS CREATEとは

AIMERS CREATEは、東京都と福岡県うきは市を中心にホームページ制作・Webデザインを行っております。 お見積もりや運営などご不明な点がありましたら、お気軽にお問い合わせメールフォームからお申込下さい。迅速に対応します。 お問い合わせをいただきましたら、電話かメールにてご連絡を致します。 AIMERS CREATEをもっと詳しく

おすすめ記事

登録されている記事はございません。

ページ上部へ戻る