nokogirirはHTMLドキュメント解析 mechanizeは「シンプルログイン」認証突破 「シンプルログイン」の個人的な定義は、「フォームにIDとパスワードを入力してログインボタンをクリックしてマイページへ!」みたいなサイトです。 「え?逆にそれ以外何があるの?」最近よくあるじゃないですか、IDを入れたらパスワード入力フォームが現れたり、ログイン時にページが動的に動くサイト。そういうサイトでもmechanizeで認証とれるかもしれませんが、個人的に私はすぐに諦めます。そういうサイトはすぐにselelniumに移行します。 「すぐ諦めたら、力つかないよ!」確かに一理ありますね。しかし私はスピードとストレスと全体的なコストを比較して、「シンプルログインサイト以外はseleniumに即移行!」とすることにしました。 nokogiriの基本的な使い方 Webページ「https:// ○○○.
なぜ失敗するかというと、nokogiriとrmagickはシステムに特定のソフトウェアやライブラリが入っていることに依存しているからだ。依存しているソフトウェアやライブラリをPATHの通った場所に用意してやらなければビルドができない。 nokogiriで問題になるのは主にlibxml2だ。nokogiriは独自のパッチをあてたlibxml2をビルドして使う。libxml2のビルドに必要になるソフトウェアとライブラリがある。 具体的な方法は公式ドキュメントに情報がある。 Installing Nokogiri - Nokogiri 特に入っていない可能性が高いのはzlibとliblzmaだ。Debian系ならば以下のようにパッケージをインストールする必要がある。 apt install build-essential patch ruby-dev zlib1g-dev liblzma-dev
BundlerにNokogiriビルド時のオプションとして、--use-system-librariesと--with-xml2-includeを設定します。 $ bundle config build.nokogiri --use-system-libraries --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 Installing nokogiri 1.6.8.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /private/tmp/nokogiri/vendor/bundle/gems/nokogiri-1.6.8.1/ext/nokogi
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
はじめに 確定申告用にAmazonでの買い物履歴が欲しかったのだが、Amazon.jpではCSVとかがなさそうなので、自動で取ってくるスクリプトを書いてみました。 一度に5件(?)以上買い物していると「◯個すべての商品を表示」みたいなリンクが出るのですが、そこは対応していません。 Rubyは初心者なので、注文履歴をゲットしてくる処理と、HTMLを読み込んでCSVに変換する処理をわけて書いています。 準備 mechanizeとnokogiriを使用するのでインストールしておきます。 require 'open-uri' require 'mechanize' require 'kconv' agent = Mechanize.new agent.user_agent = 'Mac Safari' url = 'https://www.amazon.co.jp/ap/signin?_encod
kyodoku.rb p��r V �M�r V # -*- coding: utf-8 -*- require 'mechanize' require 'nokogiri' require 'kconv' module HashInitializable def initialize(attributes={}) attributes.each do |name,value| send("#{name}=",value) end end end class HashInitializableStruct def self.new(*arguments) struct = Struct.new(*arguments) struct.send(:include, HashInitializable) struct end end properties = [:id,:name,:user_u
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く