Amazonでログインして、アカウントサービス > コンテンツと端末の管理 >
設定と進んでいくと、パーソナル・ドキュメント設定という項目に
自分がkindleを使っている各端末にメールアドレスが割り振られています。
設定と進んでいくと、パーソナル・ドキュメント設定という項目に
自分がkindleを使っている各端末にメールアドレスが割り振られています。
このメールアドレスに以下のファイル形式でドキュメントを添付して送れば
Kindle端末で読めるようになります。
Kindle端末で読めるようになります。
- Kindle形式(.MOBI、.AZW)
- Microsoft Word(.DOC、.DOCX)
- HTML(.HTML、.HTM)
- RTF(.RTF)
- Text(.TXT)
- JPEG(.JPEG、.JPG)
- GIF(.GIF)
- PNG(.PNG)
- BMP(.BMP)
- PDF(PDF)
これを利用して、Githubのトレンド(1週間分)をKindleで読むようにしたいと思います。
MechanizeでGithubのトレンドを収集
インストールや環境は前回の記事を参照
まずはGithubのトレンドのページの情報を取得してみます。
まずはGithubのトレンドのページの情報を取得してみます。
require 'mechanize'
GITHUB_TOP = 'https://github.com'.freeze
agent = Mechanize.new
agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
page = agent.get('https://github.com/trending?since=weekly') # (1)
page.search('h3 a').each do |link| # (2)
url = "#{GITHUB_TOP}#{link[:href]}" # (3)
next_page = agent.get(url)
puts next_page.title # (4)
end
やってる事は、
(1) Githubのトレンド(1週間分)のページを取得
(3) リンクのURLを取得し完全なURLを作成
(4) リンク先のページを取得しタイトルを表示しています。
(2) <h3>
タグ内の<a>
リンク情報を取得(3) リンクのURLを取得し完全なURLを作成
(4) リンク先のページを取得しタイトルを表示しています。
↑を実行するとリポジトリのタイトル一覧が表示されるかと思います。
ただKindleに送る情報としては、リポジトリと作者名、READMEの情報を
送ろうと思っているので少し修正します。
ただKindleに送る情報としては、リポジトリと作者名、READMEの情報を
送ろうと思っているので少し修正します。
require 'mechanize'
GITHUB_TOP = 'https://github.com'.freeze
agent = Mechanize.new
agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
page = agent.get('https://github.com/trending?since=weekly')
page.search('h3 a').each do |link|
# Delete space and line code.
array = link.text.gsub(/(\s)/,"").split('/')
# Get repository name.
puts "repository : #{array[1]}" # (5)
# Get author name.
puts "author : #{array[0]}" # (6)
url = "#{GITHUB_TOP}#{link[:href]}"
next_page = agent.get(url)
readme = next_page.at('#readme')
puts readme.text # (7)
end
一応これでリポジトリ名(5)、作者名(6)、README(7)を取得することが
できます。
できます。
実行する際は
$ bundle exec ruby main.rb
で実行できます。実行するとずらずらとコンソールに出力されるかと思います。
次回はそれをKindle端末にメール送信してみたいと思います。
0 件のコメント:
コメントを投稿