суббота, 7 января 2017 г.

Парсинг книги в Safari books

Прежде чем показать как можно спарсить книгу с Safari books , просто предупрежу что это не очень правильно " не я такой , жизнь такая ".
Если вам понравилась какая нибудь книга в Safari books и у вас нет средств ее купить , то в таком случае ее можно прочесть за 10 дней если получиться. Потому что такой триальный период на  Safari books. Если же нет возможности прочесть книгу за 10 дней ее можно спарсить с помощью руби. Вот пример программы в 21 строку как это можно сделать.


require 'mechanize'
mechanize = Mechanize.new
page = mechanize.get('https://www.safaribooksonline.com/accounts/login/')
form = page.forms.first
form['email'] = 'your mail'
form['password1'] = 'your pass'
page = form.submit
for i in 1..82
if i.between?(1, 9)
page_book_url = mechanize.get("https://www.safaribooksonline.com/library/view/learn-game-programming/9781680501537/f_000#{i}.html")
elsif i.between?(10,82)
page_book_url = mechanize.get("https://www.safaribooksonline.com/library/view/learn-game-programming/9781680501537/f_00#{i}.html")
end
text = page_book_url.search("#sbo-rt-content")
File.open("ruby_game/page_#{i}.html", "w") {|f| f.write("<head><meta charset=utf-8></head>\n" + text) }
end
view raw main.rb hosted with ❤ by GitHub

Комментариев нет:

Отправить комментарий