検索結果
スクレイピング
- 全てのカテゴリ
- 全ての質問
- サイトのVBAでのスクレイピングについて
下記サイトを「VBA」でスクレイピングして、表示される動画の「タイトル一覧」を作成したいです。 ただ「Javascript」?で作成されているようで、表示されてる{内容}と{HTML}が一致せず、タイトルを取得できません。 しばらく前までは、単純に取得できてましたが、最近サイトの表示の仕方が変わってしまいました。 色々調べてやってみましたがダメです。 どなたか詳しい方、ご教示願います。 https://tver.jp/search
- ベストアンサー
- Visual Basic
- okidsaya555
- 回答数2
- Google検索結果に対して、スクレイピングを実行
Google検索結果に対して、スクレイピングを実行したい。 Webサイト上で、JavaScriptなどの処理で、 バックグラウンドでGoogleカスタム検索などを使用して、 複数サイトに対して検索後、Googleの検索結果に対して、 データを加工して、サイト上に一覧表示したいと考えております。 サーバー負荷を考慮して、クライアントサイドスクリプトのJavaScriptを 検討しておりますが、他に最適な言語はありますでしょうか? 【質問まとめ】 1.スクレイピングの実行処理をサイト閲覧者に分からないようにバックグラウンドで実行する事は可能でしょうか? 2.Google検索結果に対して、データを加工する事は可能でしょうか? 3.サーバ負荷が掛かりにくい最適な言語について 以上、ご教示頂けますと幸いです。 宜しくお願い致します。
- 締切済み
- JavaScript
- fejiaw
- 回答数1
- youtube動画情報のスクレイピングをするには?
youtubeのAPIで動画の詳細情報を取得しているのですが、APIでは配信されていない情報も取得したくて、youtubeの動画の統計情報のスクレイピングを行おうと挑戦してみましたがうまく出来ません。以下のソースは取得した動画の統計情報をコンソール上に表示させるというものです。 要素「id="watch-insight-button"」をクリックすると、javascriptが実行されて、元々ある要素「id="watch-actions-area-container"」以下に要素「id="watch-actions-ajax"」が動的に生成されます。この生成された情報をコンソールに表示させたいのです。実行環境はGoogleChromeの「要素の検証」の「Console」で実行しました。 http://www.youtube.com/watch?v=xIP41E4B-bIへ行き、クロームのコンソールに以下を入力 /*1*/var elem = document.getElementById('watch-insight-button'); /*2*/var event = document.createEvent('MouseEvents'); /*3*/event.initEvent('click', true, false); /*4*/elem.dispatchEvent(event); /*5*/var el = document.getElementById('watch-actions-ajax'); /*6*/console.log(el.innerHTML); 実は行番号の1~4までを入力しエンターを押して実行し終わった後で、行番号の5,6を入力しエンターを押してというように分けて実行すればうまく表示されるのですが、わけあって本番環境は「phantom.js」で実行しているため、この動作1~6までを一気に実行させなければならなくて、そうするとうまく表示されないのです。 行番号1,2,3,4が実行された後で、以下のコードをはさみ一定時間待機してから行番号5,6を実行してみたのですが、これもうまくいきませんでした。 mysleep(5000); function mysleep( waitMilliSeconds ) { var startTime = ( new Date( ) ).getTime( ); while ( true ) { if ( ( new Date( ) ).getTime( ) >= startTime + waitMilliSeconds ) break; } }
- ベストアンサー
- JavaScript
- 20081217
- 回答数1
- スクレイピングで取得した文字を変数表示
javascriptでiphoneアプリを作成中です。 ゲームにあたり、自社サーバーのhoge.ne.jp/read1000.php上のデータベース 情報をスクレイピンクしてiphone上で表示させます。 下記により、「hoge.ne.jp/read1000.php」にあるソースの中から 「吉本」の文字をスクレイピング表示することが可能です。 ****【hoge.ne.jp/read1000.php】(DBサーバー)******************** <td class="class3_sql_name">吉本</td> ****【hogehoge.com/index.html】(iphone仮想サーバー)************** <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/read1000.php'; $.get(url, function(data){ var content3_sql_name = $(data.responseText).find('.class3_sql_name').text(); $("#text3_sql_name").text(content3_sql_name); }); </script> <div id="text3_sql_name"></div> //←この部分にhoge.ne.jpからスクレイピング した吉本の文字が表示される ************************************************************ やりたいこと ここで取得できた「吉本」の文字を変数としてjavascript上で表示させたいと考えています。 下記のようにしたのですがグローバル変数、ローカル変数とも表示出来ません。 どうすれば表示できるでしょうか? ****【hogehoge.com/index.html】(iphone仮想サーバー)************* <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/read1000.php'; $.get(url, function(data){ var content3_sql_name = $(data.responseText).find('.class3_sql_name').text(); $("#text3_sql_name").text(content3_sql_name); //テスト用としてグローバル変数追加 content3=$("#text3_sql_name").text(content3_sql_name); }); </script> <script> document.write(""+content3_sql_name+""); </script> <script> document.write(""+content3+""); </script> ↑上記のふたつとも表示出来ない 宜しくお願い致します。
- 締切済み
- JavaScript
- tajix14
- 回答数3
- スクレイピングする際のマナー(吸い出すデータ量等
よその会社の運営するサイトからスクレイピングして、 データベースを組もうと思います。 あまり一気にやってしまうと、先方のサーバに負荷がかかってご迷惑をかけてしまうかもしれないので、 どの程度のペースで行うべきかを相談させていただきたくお願い申し上げます。 なお、先方のサイトは月間1000万PVくらいの大きなサイトなので、 サーバもしっかりとしたものを入れていると思います。
- ベストアンサー
- その他(ITシステム運用・管理)
- mic_goto
- 回答数2
- Webスクレイピングについて、これって違法ですか?
Octoparse というツールを使用して、pagespeed insights(ページの読み込み速度を計るサイト)を自動で動かすように設定して、データを抽出しました。 これって違法になるのでしょうか?
- ベストアンサー
- その他(ソフトウェア)
- sst_sa
- 回答数1
- スクレイピングでのアクセス回数や頻度について
月間PV20万(Similarweb調べ)ぐらいのヨーロッパのサイトに約3000回アクセスして、テキストを取得したいのですが、アクセス頻度は、どのぐらいにしておくべきなのでしょうか? この辺の知識はほどんどないのですが、無知でも相手には出来るだけ負荷をかけたくありません。 現在は1日50回を10秒おきにしているのですが、このままだと60日間もかかってしまうため、やはり、できるだけ早く終わらせたいと考えています。 何か、ご教授をお願いいたしますm(__)m
- 締切済み
- その他([技術者向] コンピューター)
- kenthehg
- 回答数1
- pythonのスクレイピング 特定の数の情報抜取り
現在、スクレイピングの練習をしている者です。例えばニュースサイトから上から50個だけ記事を抜き取りたいなど数を指定することはできるのでしょうか? 解る方がいらっしゃいましたらご回答よろしくお願い致します。
- スクレイピングした内容をvalue値に入れたい
下記のようなページがあります。 ++++++++++++++++++++++++++++++++++++++++++ 【http://hoge.ne.jp/index.html】 <html> <table border="1"> <tbody> <tr> <td class="class3">東京</td> </tr> </tbody> </table> </html> ++++++++++++++++++++++++++++++++++++++++++ 【出来たこと】 上記の東京という文字を抜き出すスクレイピングページを作りました。 ****************************************** 【http://hogehoge.com/index.html】 <html> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/index.html'; $.get(url, function(data){ var content4 = $(data.responseText).find('.class3').text(); $("#text4").text(content4); }); </script> <div id="text4"></div> </html> 結果 → 東京 ************************************** 【出来なかったこと】 これを、<input type="text" name="tx" value="東京"> のような形でフォーム内に取り入れることを考えています。 しかしながら、下記のようにうまくいきません。 ●●だめ その1●● <html> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/index.html'; $.get(url, function(data){ var content4 = $(data.responseText).find('.class3').text(); $("#text4").text(content4); }); </script> <input type="text" name="tx" value="<div id='text4'></div>"> </html> 結果 → 表示されず ●●だめ その2●● <html> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="./js/jquery.xdomainajax.js"></script> <script> url = 'http://hoge.ne.jp/index.html'; $.get(url, function(data){ var content4 = $(data.responseText).find('.class3').text(); $("#text4").text(content4); }); var tx4 = content4; document.write("<input type='text' name='tx' value='" + tx4 + "' />"); </script> </html> 結果 → 表示されず 【お願いしたいこと】 <input type="text" name="tx" value="東京">の形で表示させる方法についてアドバイスいただきたくお願いいたします。
- ベストアンサー
- JavaScript
- tajix14
- 回答数2
- EXCELVBAでYAHOOの検索結果をスクレイピングしたい
特定のキーワードでyahoo検索を実行し 検索結果から、TITLE・description・URLを抜き取りたいのですが もし、可能であれば、サンプルコードを記載頂けると幸いです。 宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- fuyuhiko
- 回答数5
- WEBスクレイピングが許可されているか否か
初歩的な質問ですみません。 今プログラミングのいろいろな勉強を始めている者ですが、 とあるサイトで User-Agent: * Disallow: /order/mypage/ との表記があります。 これは例えば、 https://order.〇〇〇〇.co.jp/order/listPage/list.keyword=〇〇〇〇といったページでのスクレイピングは禁止されているという意味であっていますか? 前者の〇〇〇〇には社名、後者の〇〇〇〇には検索をかけた単語などが入る仕組みになっています。 末尾がorderやmypageでなければ、問題ないのですか? それとも途中にorder(上記の例)が入っている場合は、一様に不可なのでしょうか? 教えてくださると幸いです。
- 締切済み
- ブラウザ
- kokoron_666
- 回答数1
- スクレイピングPHPにおける複数spanについて
外部のホームページのソースを拾いRSS化するPHPを作成しました。 ***************************************** 外部ホームページ http://hoge.com/index.html ***************************************** <html> <table class="Table100"> <tr> <th class="Name"><h1>えんどう豆</h1></th> <td class="Price">254</td> <td class="maker"> <span class="a1">メーカー</span> <span class="a2">遠藤農園</span> </td> </tr> </table> </html> ***************************************** スクレイピングPHP http://hagedebu.jp/index.php ***************************************** <?php class SimpleXMLExtended extends SimpleXMLElement { public function addCData($data) { $dom = dom_import_simplexml($this); $dom->appendChild($dom->ownerDocument->createCDATASection($data)); } } $xml = new SimpleXMLExtended('<rss version="2.0"></rss>'); $channel = $xml->addChild('channel'); $channel->addChild('title', 'TEST RSS'); $dom = new DOMDocument; @$dom->loadHTMLFile('http://hoge.com/index.html'); $xpath = new DOMXPath($dom); foreach ($xpath->query('//*[@class="Table100"]') as $node) { $item = $channel->addChild('item'); $item->addChild('description')->addCData(implode('<br>', [ $xpath->evaluate('string(.//*[@class="Name"]/h1)', $node), $xpath->evaluate('string(.//*[@class="Price"])', $node), $xpath->evaluate('string(.//*[@class="maker"]/span)', $node), ])); } header('Content-Type: application/xml; charset=utf-8'); $xml->asXML('php://output'); ************************************************ 問題点 このPHPでは、 えんどう豆 254 メーカー と表示されてしまいます。 <td class="maker"> <span class="a1">メーカー</span> <span class="a2">遠藤農園</span> </td> class="makerに複数のspanが入っているため、2つめのspanを認識しません。 当方が表示させたいのは下記のようにspanを両方とも表示させたいです。 またはひとつしか表示させることができない場合は、「メーカー」ではなく「遠藤農園」を優先表示させたいです。 このように表示させるためにはどうすればよいでしょうか? 希望表示 えんどう豆 254 メーカー 遠藤農園 または えんどう豆 254 遠藤農園 よろしくお願いいたします。
- スクレイピングで0.5秒に1回アクセスはOK?
SBI証券から複数の銘柄の気配値を取得しなければならなくなったため、 phpのcurlを使ってこれを実現しようと思います。 0.5秒に1回の間隔でアクセスを5時間繰り返す必要があるのですが、この場合Dos攻撃と勘違いされてしまいますでしょうか? SBI証券は会員数は国内最大なのでPVもそれなりにあると思うので1日に私が3万6千回アクセスしても影響は無いようにも思います。 証券会社のHPにスクレイピングをしている人はどのくらいの頻度で行っているのでしょうか。 ご教示頂けますと幸いです。 宜しくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
- hope9000
- 回答数1
- AJAXで取得されているデータのスクレイピング
PerlでWEB上のデータを収集したりしていますが、 AJAXでデータを取得する部分は、ブラウザでonload後に 行われている為、サーバサイドで実行するPerlで取得する事が出来ません。 そもそもデータの取得は不可能でしょうか? それとも他に実現可能な手段はありますでしょうか? 宜しくお願いいたします。
- 締切済み
- Perl
- ogesatakao
- 回答数1
- デベロッパーツールでHTML構成が確認できません
スクレイピングするため、このサイトのHTML構成を確認しようと思ったのですが、添付画像のようにエラーが発生します。 https://data.wingarc.com/scraping-27053 このサイトを見ながら記事のタイトルの情報をスクレイピングしようと思ったのですが、セレクトボタンを押し、スクレイピングしたい範囲を選択しても、手に入れたいデータを指定するタグが見つかりません。マウスカーソルの左上部分に四角い枠が表示されるのですが、この中に目的の情報があるのでしょうか?
- ベストアンサー
- その他([技術者向] コンピューター)
- hf-sbf5
- 回答数2
- RubyでCSVファイルの1行目を削除したい
Rubyの初心者でSeleniumを使ってスクレイピングを趣味としてしているものです。 ブラウザはchromeです。 この間、例外が上がったときに一定回数リトライする方法をご伝授頂きました。 http://okwave.jp/qa/q8722965.html そしてそれを活用して、CSVにスクレイピングをしたいURLを1列目に並べ、複数のページをスクレイピングしているのですが、 def try(n=10) require 'pp' require 'csv' require 'selenium-webdriver' require 'open-uri' hoge_path = File.expand_path('../hoge.csv',__FILE__) driver = Selenium::WebDriver.for :chrome #chrome のdriverを設定 CSV.foreach(hoge_path) do |row| driver.navigate.to row[1] #URL移動 #ページの移動など driver.quit #ブラウザ終了 driver = Selenium::WebDriver.for :chrome #chrome のdriverを設定 end rescue => e if n==0 raise e driver.quit #ブラウザ終了 else driver.quit #ブラウザ終了 try(n-1) end end try よく仕組みを理解できていないのですが、CSV.foreach内はループされます。 そして、404エラーなどで落ちるとまた一行目に戻ってスクレイピングが行われ、非常に困っています。 そこで、CSVファイルの1行目をループするまたは例外のリトライの際に削除していけば良いと考えたのですが、一行目を削除するというコードをどう書けばいいのか分かりません。 どうかご伝授お願いします。
- プログラムでの自動操作の是非について。
スクレピング(サイトへのプログラムによる自動収集や自動操作)については、どう思いますか? 知恵袋でも同じ質問をしたのですが、「スクレピングは、問題がない」という意見が多く、「スクレピングは問題」という意見が上がらないのですが・・・。 多くのサイトでは、スクレピング(サイトへのプログラムによる自動収集や自動操作)について、禁止と書かれているにもかかわらず。 みなさんは、スクレピングについてどう思いますか? 邪推をすれば、スクレイピングをしている人は、スクレピングは問題ないといいたいと思うのですが、各言う私も個人的に(商用でない形で)スクレイピングはしているのですが、建前としては、スクレピングは規約違反、違法行為にあたる可能性があると、回答しています。 あと、OKWAVEだと、質問者の意見に同意するバイアスが、多かれ少なかれかかる気もするので、そのへんを差っ引いて回答していただけるとありがたいです。 私は、建前としては、スクレイピングは問題と思っているが、個人的は使っているので、どちらの意見もわかります。
- 締切済み
- インターネットビジネス
- tukunekobe
- 回答数3
- 食品のデータベースがほしいのですが
https://fooddb.mext.go.jp/ このサイトで一括ダウンロードできないのでしょうか? スクレイピングすることはできますが、まとまったデータとして提供されていませんか?
- ベストアンサー
- PHP
- inudaisukidesu
- 回答数1
- PHPで一度に複数ページのスクレイピングをしたいのですが、リクエストの
PHPで一度に複数ページのスクレイピングをしたいのですが、リクエストの仕方がよく分かりません。 初心者的な質問で恐縮ですが 例えば、http://hoge.com というサイトの子ページが http://hoge.com/page_1.html という形式だったとして $url = 'http://hoge.com/page_\d+.html'; このような感じで書いてみましたが、「ページが存在しません」というレスポンスが返ってきてしまいます。 このような場合に子ページの情報まで取得するにはどのようにすれば良いのでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- moonbird_001
- 回答数1
- str_get_htmlがこける原因を知りたい
よろしくお願いします。 PHP であるサイトをスクレイピングしているのですが、str_get_htmlが特定?のページだけ処理が失敗します。 例えば、1ページ~10ページ目までをスクレイピングしているときに、8ページ目だけ失敗します。 str_get_htmlの処理に失敗する原因って何々あるんでしょうか? 以下は、サーバ・PHPの情報になります。 ・サーバ:さくらのレンタルサーバ スタンダード ・PHP -v 5.4.22 ・ソース $HTML = file_get_contents($url); $encode_HTML = mb_convert_encoding($HTML, 'UTF-8', 'CP932'); $Dom = str_get_html($encode_HTML); // ここで$Domに値がはいっていないのを確認しました。 // print_r($encode_HTML); はHTMLソースにはなってました。 if ($Dom){ echo "OK"; }else{ echo "NG"; continue; }
