!! ======================== !! ※この記事は2019年の記事です。この記事で紹介している内容は2019年当時の内容である事を理解した上で、実際に設定する際は最新の情報を確認しながら行ってください。 !! ======================== !! SeleniumはE2Eテストの自動化などで大きな力を出してくれます。 今回の記事では、下記の内容をまとめてみます。 色々なユースケース 抜け漏れ対策のwait.until()関数 => 実務ではとても重要 IDやClassが無くても、AltやPlaceholderなどから力技で抽出する技 パスワード系 無限スクロール系 必要なツールをまずは揃えるPython3.7ChromeDriver https://sites.google.com/a/chromium.org/chromedriver/dow

5ch(旧2ch)ではここ数年はTwitterを使用するようになってしまいましたが、ネットのミームの発信地点であって、様々なスラングを生み、様々な文化を作ってきたと思います。 学生時代、2chまとめとか見ていたので、影響を受けてきたネット文化で、感覚値からすると、どうにも流行り廃りがあるようです。5chの過去ログを過去18年ほどさかのぼって取得する方法と、懐かしいネットスラングのドキュメントに占める出現具合を時系列でカウントすることで、時代の変遷でどのように使用の方法が変化したのか観測することができます。 文末に「orz」って付けたら若い人から「orzってなんですか?」と聞かれて心身共にorzみたいになってる— ばんくし (@vaaaaanquish) October 19, 2018 図1. 今回集計したorzの結果 例えば、今回集計した5chの書き込み500GByte程度のログからで

2018-07-15 13:20:58,410 - INFO - icrawler.crawler - start crawling... 2018-07-15 13:20:58,411 - INFO - icrawler.crawler - starting 1 feeder threads... 2018-07-15 13:20:58,412 - INFO - feeder - thread feeder-001 exit 2018-07-15 13:20:58,412 - INFO - icrawler.crawler - starting 1 parser threads... 2018-07-15 13:20:58,413 - INFO - icrawler.crawler - starting 1 downloader threads... 2018-07-15 13:20:5

- はじめに - 最近はWebスクレイピングにお熱である。趣味の機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。github.comphantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadlessChrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

Scrapy入門(1) はじめにPythonでWebスクレイピングを行う場合には、様々なアプローチが存在します。この記事ではスクレイピング用のフレームワークであるScrapyを題材に取り上げ実際に簡単なサンプルを作成しながら、Scrapyについて学んでいきます。Scrapyとは Scarpyとは速くて、ハイレベルなスクレイピングのフレームワークです。Webサイトのクロールと、スクレイピングに関する様々な機能を持っています。主要な機能はコンポーネントに分かれており、ユーザーは各コンポーネントに関連するクラスなどを作成して、プログラムを作っていきます。 http://doc.scrapy.org/en/1.0/topics/architecture.html より 主要なコンポーネントは次の通りです。Scrapy Engine コンポーネント間のデータフローの制御を担当 特定のアクション

昔、Rubyでクローラー/Webスクレイピングの本を書きました。今でもちょくちょくとスクレイピングのコードを書いたりはするのですが、実行基盤についてはサーバの運用管理が面倒くさいのでAWSLambdaを使うことが多いです。そうなると、Lambdaは基本的にはRubyが使えないので、言語はPythonかNode.jsを利用することになります。Pythonもいいけど、今後のことを考えるとNode.js力を高めておきたいと考えています。ということで、Node.js縛りでスクレイピングの仕方です。スクレイピング対象のページの種類 私の中の勝手な定義ですが、スクレイピングには3種類あります。 1. 静的サイト/JavaScript不要なページに関するスクレイピング 2. 対話型サイト/JavaScript不要なページに関するスクレイピング 3.JavaScript前提のページに関するスクレイピ

JavaScriptによる動的ページスクレイピング プログラム Webサイト • ブラウザが必要。ほぼヘッドレスブラウザを使う •PhantomJS&CasperJS (JavaScriptAPIで操作できるWebKitブラウザ) •JavaScriptを解析して、データ部分を探すという手もある ヘッドレス ブラウザ リクエストhtml リクエスト レスポンス クローラー/スクレイプのライブラリJavaScriptPythonRuby 構文解析&抽出cheerio-httpcli BeautifulSoup nokogiri 巡回&保存 ???Scrapy anemone Webページ操作 mechanize-js? mechanize? Mechanize ヘッドレス ブラウザPhantoJS +CasperJA Splinter? Capybara (Selenium
簡単なサンプルと解説を書いてみました. Yasuriでお手軽スクレイピング よろしければ使ってみてください>< Yasuri とは Yasuri (鑢) は簡単にWebスクレイピングを行うための、"Mechanize" をサポートするライブラリです. Yasuriは、スクレイピングにおける、よくある処理を簡単に記述することができます. 例えば、 ページ内の複数のリンクを開いて、各ページをスクレイピングした結果をHashで取得する ページ内の複数のテキストをスクレイピングし、名前をつけてHashにする ページ内に繰り返し出現するテーブルをそれぞれスクレイピングして、配列として取得する ページネーションで提供される各ページのうち、上位3つだけを順にスクレイピングする これらを簡単に実装することができます. 例 require 'yasuri' require 'mechanize' # Nod

話題のAWSLambda Advent Calendar 2014の14日目です。クロスポストで、クローラー/スクレイピング Advent Calendar 2014の14日目でもあります。 re:Inventで発表されて以来、注目のLambdaです。サーバを用意しなくても、バッチを直接実行できるとあって、ユースケースを考えるだけで夢が広がります。今年はクローラー本を出したこともあって、Lambdaで作るクローラー/スクレイピングをテーマにします。 クローラー/スクレイピングとは? Webクローラーは、Webサイトを巡回してデータを取得するプログラムです。スクレイピングは、取得したデータから目的の情報を抜き出すことを指します。一般的には、クローラーの中に、スクレイピングの機能を包含していることが多いです。また、特定のページだけ取得してデータを抜き出すことを、スクレイピングと呼ぶことが多い

今日はスクレイピングの話をします。 今回のターゲットは三菱東京UFJダイレクト。金融機関もウェブサービスを提供するようになり、金にまつわる情報を電子化しやすくなりましたが、かれらがAPI を提供しているわけではないので、私たちのほうで取得・加工をしてやる必要があります。今やウェブサイトであれば当然のようにJavaScript を使っているわけなので、いわゆる mechanize、つまりHTML の解釈をおこない、リンクのクリックやフォームの送信をシンプルに実装するようなやり方でのスクレイピングはすでに無理筋だといえます。 もちろん今日においてはブラウザオートメーションという方法がすでにありますので、これを利用してやれば、なんの憂いもなく実際に人間が使うようなブラウザをプログラマティックに操作することができます。現在は Selenium WebDriver がデファクトで、これが使用す

勉強会やスライドで紹介していましたが、Ruby×クローラーという題材で、『Rubyによるクローラー開発技法』という本を書かせて頂きました。RubyとEmacsの鬼であるるびきちさんとの共著です。Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 作者: るびきち,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2014/08/25メディア: 大型本この商品を含むブログ (1件) を見る この本を書いた理由 そもそものキッカケは、るびきちさんのエントリーにある通り、SBクリエイティブの編集者さんが、クローラーの作成経験のある人を探していて、私の書いた「オープンソースのRubyのWebクローラー"Anemone"を使ってみる」を読んで打診してくださったというのが始まりです。 私自身も、Webからデータを収集して分析するということは、趣味として長年やってきました。一

RubyでHTMLやXMLをパースする構文解析ツールの定番は、Nokogiriです。スクレイピングする際の必需品で、なくてはならないモジュールの1つです。ただ色々なことが出来る反面、どこから取りかかれば良いのか解り難い部分もあります。自習を兼ねて、Nokogiri概要と主要な機能を紹介してみます。 Nokogiriとは何か? ReademeによるとNokogiriとは、「HTMLとXMLとSAXとXSLTとReaderのパーサー」で、特徴としては、XPathとCSS3セレクター経由で探索する機能を持つことのようです。他にもHTMLやXMLのビルダーの機能を持っていますが、HTMLとXMLのパーサー(構文解析器)と覚えておけばよいでしょう。 Nokogiriのクラス構造 Nokogiriは、なかなか巨大なライブラリです。10以上のモジュールと70以上のクラスで構成されていて、yardでダイア

[Rails4でサイト構築をする] -Rails環境構築編 - Scaffold利用編 -Bootstrap導入編 - WYSIWYG導入編 -CSV出力機能編 -スクレイピング機能編(nokogiri) - 非同期処理導入編(delayed_job) - デプロイ環境構築編(capistrano3) 上記を毎週1つずつ出す予定 今回は別のサイトのHTMLをパースして情報を取得する機能を作ってみたいと思います。HTMLのパースにはNokogiriというプラグインを使います。 Nokogiriのインストール Gemfileに以下を追加する gem 'nokogiri' そして、bundle install Nokogiriを使って別サイトのHTMLから情報を取得する 対象サイトのHTMLを把握する 試しに、弊社のサイト(//www.bpsinc.jp)のグローバルナビの情報を取得し

「HackerNews翻訳してみた」が POSTD (ポスト・ディー) としてリニューアルしました!この記事はここでも公開されています。 Original article: Fastscraping inpython with asyncio by Georges Dubus ウェブスクレイピングについては、pythonのディスカッションボードなどでもよく話題になっていますよね。いろいろなやり方があるのですが、これが最善という方法がないように思います。本格的なscrapyのようなフレームワークもあるし、mechanizeのように軽いライブラリもあります。自作もポピュラーですね。requestsやbeautifulsoup、またpyqueryなどを使えばうまくできるでしょう。 どうしてこんなに様々な方法があるかというと、そもそも「スクレイピング」が複数の問題解決をカバーしている総合技術だ
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く