自分で管理しているサイトの画像をすべて取りたかったのでwgetコマンドでやってみました
Basic認証をかけていたので、ユーザー名とパスワードを渡しています
$ wget -r -l 1 –user=test –password=test -A “*.png” http://sample.com
testとhttp://sample.comは変更して使ってください
ひびのきろく
自分で管理しているサイトの画像をすべて取りたかったのでwgetコマンドでやってみました
Basic認証をかけていたので、ユーザー名とパスワードを渡しています
$ wget -r -l 1 –user=test –password=test -A “*.png” http://sample.com
testとhttp://sample.comは変更して使ってください
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
といった感じでできました
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
これでうまく行きました
GitHubでGPGにより署名されたコミットにバッジが表示されるようになったので設定してみる – Qiita
を参考に設定してみました
Ubuntu 14.04でやってます
デフォルトでgpgが入っていたのでそれを使いました
Gpg v2にするには
$ sudo apt-get install gnupg2
を実行して gpg2 でできるようです
$ gpg –gen-key
で指示通りに打ち込んで設定
$ gpg –list-keys
pub 4096R/xxxxxxxx 2016-04-10
uid sample foobar <sample@sample.com>
sub 4096R/yyyyyyyy 2016-04-10
と用意が出来ました
xxxxxxxx部分がpublic keyのidなのでgitに設定
$ git config –global gpg.program gpg
$ git config –global user.signingkey xxxxxxxx
コミット時に署名をつける設定もして
$ git config –global commit.gpgsign true
GithubにGPGを登録します
$ gpg –armor –export xxxxxxxx
で出てきたものをすべてコピーして、
SSH and GPG keys
に登録
これでできるはずが、できない..と思ったらgitのバージョンが古かったです
$ git –version
git version 1.9.1
だったのでアップデート
$ git –version
git version 2.8.1
試しにgit pushして、コミットをGithubで確認したら Verified が出てたのでできてました