Dashblock is the easiest way to automate websites without coding. Put your manual tasks on autopilot and save time - Start for free, no credit card required.
ソーシャルメディアのAPIとそのレート制限は、あまり気分のよいものではありません。特にInstagram。あんな制限つきAPIを欲しがる人がいったいどこにいるんでしょうね? 最近のサイトは、スクレイピングやデータマイニングの試みを阻止するのがうまくなってきました。AngelListはPhantomJSすら検出してしまいます(今のところ、他のサイトでそこまでの例は見ていません)。でも、ブラウザ経由での正確なアクションを自動化できたとしたら、サイト側はそれをブロックできるでしょうか? 並行性を考えたり、さんざん苦労して用意した結果として得られるものを考えたりすると、Seleniumなんて最悪です。あれは、私たちが「スクレイピング」と聞いて思い浮かべるようなことをするためには作られていません。しかし、賢く作り込まれた今どきのサイトを相手にして、インターネットからデータを掘り当てるための信頼できる
昔、Rubyでクローラー/Webスクレイピングの本を書きました。今でもちょくちょくとスクレイピングのコードを書いたりはするのですが、実行基盤についてはサーバの運用管理が面倒くさいのでAWS Lambdaを使うことが多いです。そうなると、Lambdaは基本的にはRubyが使えないので、言語はPythonかNode.jsを利用することになります。Pythonもいいけど、今後のことを考えるとNode.js力を高めておきたいと考えています。ということで、Node.js縛りでスクレイピングの仕方です。 スクレイピング対象のページの種類 私の中の勝手な定義ですが、スクレイピングには3種類あります。 1. 静的サイト/JavaScript不要なページに関するスクレイピング 2. 対話型サイト/JavaScript不要なページに関するスクレイピング 3. JavaScript前提のページに関するスクレイピ
Webページからちょっとデータ抜き出したいときありますよね。 1回だけしか行わず、わざわざプログラム組むほどでもないならVimでやるのがおすすめです。 例:はてぶのページからリンクを取得する vimを開いて4コマンドでリンクを抜き出します。 しかもエディタ上なのでその後の加工や連続スクレイピングなどもスムーズに行えます。 # 最初の行以外はどのサイトでも共通的に使えるはず :e http://b.hatena.ne.jp/ctop/it :%s/></>\r</g | filetype indent on | setf xml | normal gg=G :%v/<a/d :%s/^.*href="\([^"]*\)"[^>]*.*$/\1/ # 完全URLにしたいなら :%s/^\//http:\/\/b.hatena.ne.jp\//
この記事は CAMPHOR- Advent Calender 2015 延長戦、29日目の記事です。 今回はスクレイピングについてです。スクレイピングのやり方なんかは他にたくさん記事が上がっているのでそういうのはやめて、昔クローラーとしてたくさんのサイトを継続的にスクレイピングして回っていた(google botかな?)ときに経験したことについて書いていこうかなと思っています。これからクローラーを構築しようとしている方の参考になればと。 DOS攻撃をしない 基本ですね。スクレイピングをするときはサーバーへの負荷も考えて、あまり一度にたくさんのリクエストを送らないようにしましょう。 サイトのリニューアルを検知 webサイトは時として何の前触れもなくリニューアルがされて全く違う構造になることがあります。ECサイトなんかは企業の買収や合併も激しく、リニューアルも頻繁に行われることでしょう。イケイ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
昨年に引き続き、今年も WebDB Forum 2011 のサイボウズの企業セッションでの発表の機会をいただきましたので、「 CRF を使った Web 本文抽出」について話をさせていただきました。 CRF を使った Web 本文抽出 for WebDB Forum 2011 View more presentations from Shuyo Nakatani この発表は、過去に2回(自然言語処理勉強会@東京(TokyoNLP) 第1回、確率の科学研究会 第1回)で話をさせてもらったことと、WebDB Forum という場であること、さらに発表時間が 20分*1ということを考えて、今回は非常にスリムな内容になっています。 CRF についてはズバッとはしょって、その代わりに系列ラベリングを本文抽出に使うというのはどういうことか、という図を入れましたので、さらっと読むには一番わかりやすいのでは
やっぱ jQuery 便利ですよ(*´・ω・)(・ω・`*)ネー セレクタ使って jQuery でダカダカやってると、DOM とか正規表現でネチネチやるのがバカらしくなっちゃいます。 と日頃から思ってたりしてまして、サーバサイド JavaScript がメインストリームになって、jQuery でウェブアプリをコーディングできれば超ラクできるかもと期待しています。 で、先日サーバサイドJavaScriptとjQueryでスクレイピングという記事をうpったところ、やっぱ Rhino じゃなくて node.js がえーんよ(´・ω・`)というコメントを頂きましたので、node.js と jQuery でサーバサイド JavaScript スクレイピングしてみることにしました。 今回は node.js ですので、単にスクレイピングする(コマンドラインから実行する)スクリプトだけじゃなくて、スクレイ
jQuery でスクレイピングできたらセレクタ使えるし便利かなーと思ったりしたんですが、Rhino と env-js を使うと超簡単にできたのでレポートしてみます。 Rhino と env-js って何ぞい? Rhino ってのは Java で書かれた JavaScript エンジンです。Rhino を使うとコマンドラインから JavaScript を実行できます。 Rhino には DOM が無いので単体では jQuery を実行することはできませんが、env-js という DOM ライブラリを使用するとこの辺はクリアできます。 env-js の中に jQuery を使ったサンプルがいくつか入ってますので、Java とか JavaScript とか詳しい方はそちらを見てもらった方が早いと思います。 使ってみる まず env-js をビルドしないといけないのでその辺の手順から説明します。
Overview Overview API Support Tutorials Changelog About Nokogiri¶ Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is fast and standards-compliant by relying on native parsers like libxml2, libgumbo, and xerces. Guiding Principles¶ Some guiding principles Nokogiri
こんにちは、SQLを愛してやまないmoriyoshiです。 ストアドプロシージャは、一連のSQL文をサブルーチンのようにDBサーバに記録しておき、後からそれを呼び出すことができるようにする仕組みです。近代的なRDBMSには標準的に備わっている機能といえます。 制御構造などもSQL文で記述することができるので、結果的に、あらゆるロジックをSQLのみで記述することができます。手続き型プログラミングにどっぷり浸かった現場の方から愛用されていると言われています。 今回は、ストアドプロシージャの応用として、Webスクレイピングを行なってみましょう。Webスクレイピングとは、特定のWebサイトにアクセスし、そのページの内容 (HTML) を取得、解析し、必要な情報を取り出すという一連の操作を自動化することです。Webスクレイピングを効果的に活用すると、人間がブラウザに向かって単純作業を繰り返す必要がな
すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W
HTML::Element とか HTML::TreeBuilder で HTML 構文木をいじることを盆栽と呼ぶらしいですが、最近よく盆栽してていろいろ覚えたことがあるのでメモ。 as_HTML() で HTML エンティティに変換させない HTML::Element#as_HTML を呼ぶと HTML 文字列が返るのだけど、これを引数なしで呼ぶと "all unsafe characters" が HTML エンティティに変換(エンコード)される。これは普通あまり望ましくないので(変換などせずそのまま出して欲しいことのほうが多い)、それを回避するには my $html = $elem->as_HTML('');と、空文字列を渡してやる。 HTML::TreeBuilder のインスタンスに対して as_HTML() を呼ぶと タグをつけられてしまう これはサブクラスの HTML::Tr
Webページの自動カテゴライズ の続き。 前回書いたとおり、パストラックで行っている Web ページのカテゴライズでは、Web ページの本文抽出がひとつの鍵になっています。今回はその本文抽出モジュールを公開しつつ、使っている技法をざっくり解説などしてみます。 本モジュールの利用は至極簡単。require して analyse メソッドに解析したい html を与えるだけ。文字コードは UTF-8 です。 【追記】大事なこと書き忘れ。本モジュールは Ruby1.8.5 で動作確認していますが、特別なことはしていないので、1.8.x なら動くと思います。 $KCODE="u" # 文字コードは utf-8 require 'extractcontent.rb' # オプション値の指定 opt = {:waste_expressions => /お問い合わせ|会社概要/} ExtractCont
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く