質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

4389閲覧

GoutteによるWebスクレイピングのエラー

1nakaji

総合スコア187

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/08/12 15:59

Goutteでスクレイピングを試みています。

http://d.hatena.ne.jp/hnw/20120115

こちらのサイトを参考に試しているのですが、
エラーが出てしまいます。

Fatal error: Call to undefined function GuzzleHttp\Handler\curl_reset() in phar:///home/xxx/xxx/xxx/goutte.phar/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php on line 69

ディレクトリにはindex.php, goutte.pharが設置されています。
index.phpの内容は参考サイト通りに、以下です。

━━━━━━━━━━━━━━━━━━

<?php require __DIR__.'/goutte.phar'; use Goutte\Client; $client = new Client(); $crawler = $client->request('GET', 'http://d.hatena.ne.jp/keyword/%BA%B0%CC%EE%A4%A2%A4%B5%C8%FE'); list(list($title, $url)) = $crawler->filter('div.keyword-container a.title')->extract(array('_text', 'href')); $furigana = $crawler->filter('div.keyword-container span.furigana')->text(); var_dump($title, $url, $furigana); ━━━━━━━━━━━━━━━━━━ phpは5.4を使用しています。 こちら何か分かる方はおりますか? 何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

cURLの拡張ライブラリがインストールされていないのではないでしょうか?

下記を参考にご自身の環境にインストールしてみてください。

▽Client URL Library
http://php.net/manual/ja/book.curl.php

投稿2015/08/12 16:03

shunshun

総合スコア89

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1nakaji

2015/08/13 06:14

ご回答ありがとうございます。 すいません、 もう少しだけ説明もらえますか? cURLの拡張ライブラリというのは、 何になるのでしょうか。 またそう思われた理由が 何かあれば教えていただけますと幸いです。
shunshun

2015/08/13 06:37

正確には拡張ライブラリではなく、拡張モジュールでした。申し訳ありません。 > cURLの拡張ライブラリというのは、 > 何になるのでしょうか。 cURLは外部サイト等の情報を取得する際によく利用される関数です。 phpが標準で実装しているfile_get_contents関数よりも多くの設定ができるようになっております。 Fatal errorが出ている、curl_reset()というメソッドは cURLという拡張モジュールがインストールされているときに使用できるメソッドです。 ▽curl_reset http://php.net/manual/ja/function.curl-reset.php ここでエラーが発生していることから、拡張モジュールの「cURL」が質問者様の環境にインストールされていない状態であると判断しました。 インストール方法はLinuxやWindowsなど質問者様の環境によってやり方が異なるため、検索していただいたほうが良い答えがでてくるかとおもいます^^;
1nakaji

2015/08/13 18:56

丁寧に回答ありがとうございます。 いろいろしらべてみたところ、 PHPのバージョンが低かったことが 原因だったようです。 PHPのバージョンをあげると、 エラーがなくなりうまくいきました。 丁寧に教えていただきまして、 まことにありがとうございます。 またよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問