アプリ版:「スタンプのみでお礼する」機能のリリースについて

ネットから情報を自動的に取得する「スクレイピング」ですが、どのような言語で動作するのでしょうか?
ネットを拝見しますと、phpで「スクレイピング」という記事を見ました。
phpはサーバー上で動作する言語だと思うのですが、仮に動作させようとした場合は、どのような流れで「スクレイピング」を行うのでしょうか?
教えて頂けると助かります。

A 回答 (3件)

>どのような言語


大抵のプログラミング言語でできます。

ウェブページはHTMLなどのコードで構成されています。
スクレイピングはそのコードを取得して、解析することによって情報を得るのです。

言うなれば、この質問ページもHTMLなどのコードをブラウザで解析して表示させているのですが、
スクレイピングは「ある特定の部分を取り出す」ことによって情報を得ます。

例えば添付した画像はこのページのHTMLの一部分ですが、
titleタグに挟まれた部分が、このページのタイトルとなっています。

つまり、タイトルを取得したいなら
HTMLのコードを解析し、titleタグで挟まれた部分を取り出します。
これがスクレイピングです。「パース」するとも言いますね。

では、HTMLからどのようにしてtitleという文字を見つけ出しているのでしょうか?

これは「正規表現」という、文字列のパターンを解析する技術を使います。
titleタグを取得する程度なら簡単ですが、
例えばあるページの電話番号を取得したい場合などにこの「正規表現」が使われます。

またこの正規表現を利用すれば、HTMLの中のURLなどを取り出すことができます。
そうすれば、そのURLのリンク先のページをまたスクレイピングまたはパースすることができます。
そうやって、どんどんリンクを辿って情報を取得することも可能です。
この様な仕組みを「クロール」と呼びます。

グーグルなどの検索エンジン(クローラとも言います)は上記のような仕組みで
ありとあらゆるウェブページの情報を取得しています。

今はスクレイピング等は様々なライブラリが作られていますので、
一から正規表現を書かなくても作ることができます。

以下のような本も何冊か出ているので読んでみてはいかがでしょうか?

http://www.amazon.co.jp/dp/4797380357/
「スクレイピングに適した言語を教えて下さい」の回答画像2
    • good
    • 1
この回答へのお礼

スクレイピングという手法があって、言語は決まっていないのですね。
分かり易い解説もありがとうございます。

お礼日時:2016/03/10 22:26

http://www.amazon.co.jp/s/search-alias=aps&field …
このあたりから本を選んでください。
現在PHPが得意だと言うことでも無い限り、PHPを使う理由は無いです。
「Rubyによるクローラー開発技法」がお勧めです。
    • good
    • 0
この回答へのお礼

参考資料までありがとうございます。Rubyが、クローラーし易い言語ということですね。

お礼日時:2016/03/10 22:27

単純なクロールしたいならwgetで十分だと思いますが

    • good
    • 0
この回答へのお礼

wgetという言語があるんですね、知りませんでした。早い回答ありがとうございます。

お礼日時:2016/03/10 11:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!