OperaをUbuntu 14.04にインストールする

Oparaを入れるとfreeでVPNが使えるようになるだって、ということでUbuntu 14.04にOperaを入れてみました

記事: Opera just added a free VPN to its browser for anonymous internet access | The Verge

今だとdeveloper版で使えるそうなのでダウンロード

ウェブ開発者 | Opera

debファイルがダウンロードできたらインストール

$ dpkg -i opera-developer_38.0.2205.0_amd64.deb

インストール途中にリポジトリを登録するかどうか選べます
登録しておけば次からはaptでアップロードできます

DashメニューからOpera developerを起動

opera-developer

上のメニューからPreferenceを選んで、設定メニューを開いてVPNをONにします
そうしたらアドレスバーにVPNが表示されるのでクリックすると、経由場所が選べます

google.comにアクセスすると、co.jpにリダイレクトされずに

opera-developer2

と表示されます
すばらしいですね

wgetコマンドでウェブサイトの画像をダウンロードする

自分で管理しているサイトの画像をすべて取りたかったのでwgetコマンドでやってみました
Basic認証をかけていたので、ユーザー名とパスワードを渡しています

$ wget -r -l 1 –user=test –password=test -A “*.png” http://sample.com

testとhttp://sample.comは変更して使ってください

Rubyでスクレイピングするとたまに失敗する

RubyでNokogiriを使ってウェブサイトをスクレイピングしているとたまに要素がないってエラーが..
おそらくHTMLのレスポンスが来る前に動いているようなので対策してみました

のGemを使うことにしました

事前準備といてGoogle Chrome と chrome driverを入れました

$ sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo apt-get update
$ sudo apt-get install google-chrome-stable

$ sudo apt-get install unzip xvfb

googleのwebdriverのzipをダウンロード
Downloads – ChromeDriver – WebDriver for Chrome

unzipして使えるようします

$ chmod +x chromedriver
$ sudo chromedriver /usr/local/share
$ sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
$ sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

google chrome をインストール

$ sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo apt-get update
$ sudo apt-get install google-chrome-stable

あとはRubyを書きます

Gemfile

source "https://rubygems.org"

gem "nokogiri"
gem "hipchat"
gem "slack-api"
gem "watir"
gem "watir-webdriver"
gem "headless"

sample.rb

require 'open-uri'
require 'nokogiri'
require 'watir'
require 'watir-webdriver'
require 'headless'

url = 'http://google.co.jp'

headless = Headless.new
headless.start
browser = Watir::Browser.new :chrome

browser.goto url
doc = Nokogiri::HTML.parse(browser.html)
p doc.xpath('//div[@class="sample"]/a')[0].text

browser.close
headless.destroy

$ bundle install
して
$ ruby sample.rb

といった感じでできました

GPGを設定してからgit commitしようとするとパスフレーズを求められる

GithubのためにGPGによる署名をコミットにつけてみた – bgbgbg
でGPGを設定してからgit commitしようとするとパスフレーズを求められる環境があったので対応してみました

Ubuntu 14.04で行いました

$ git commit
すると

gpg: gpg-agent is not available in this session
Enter passphrase: 

な感じだったので必要そうなものをインストール

$ sudo apt-get install gnupg-agent pinentry-curses

gpg-agentを実行
$ eval $(gpg-agent –daemon)

これでもダメだったので.bashrcに追記

$ vim .bachrc

if test -f $HOME/.gpg-agent-info && \
    kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then
    GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-`
else
    # No, gpg-agent not available; start gpg-agent
    eval `gpg-agent --daemon --no-grab --write-env-file $HOME/.gpg-agent-info`
fi
export GPG_TTY=`tty`
export GPG_AGENT_INFO

一度読み込ませて
$ source ~/.bashrc

これでうまく行きました