Могу ли я использовать Mechanize для загрузки файлов с расширениями .docx и .xlsx, .txt?

Я просмотрел документацию Mechanize. Ниже только для .pdf.

require 'mechanize'

agent = Mechanize.new
agent.pluggable_parser.pdf = Mechanize::FileSaver
agent.get 'http://example.com/foo.pdf'
  1. Могу ли я также загрузить файлы .docx, .xlsx, .txt?
  2. когда загрузка файла будет завершена, какой каталог будет использоваться по умолчанию? Можем ли мы также изменить каталог сохранения файлов?
  3. какой браузер будет выбран во время загрузки? Можем ли мы также изменить управление браузером?

person DoLoveSky    schedule 21.01.2013    source источник


Ответы (2)


  1. Тип файла не имеет значения; любой файл, доступный по сети, можно получить с помощью chanize — инструмента для автоматизации взаимодействия с Mechanize.

  2. Файл будет сохранен в каталоге, где была запущена программа. Используйте Mechanize::Download вместо Mechanize::FileSaver, чтобы указать, куда следует загрузить файл. Пример кода здесь: https://stackoverflow.com/a/9105153/429758 (укажите полный путь в имени файла)

  3. Mechanize не использует браузер при загрузке. For all intents and purposes, Mechanize acts like a web browser with no user interface через http://ruby.about.com/od/tasks/a/The-Mechanize-2-0-Handbook.htm

Ознакомьтесь с страницей ПРИМЕРЫ в документации по chanize, чтобы найти дополнительные примеры использования chanize.

person Prakash Murthy    schedule 21.01.2013
comment
Любое хорошее предложение, которое вы хотели бы мне дать относительно - Как использовать документы? Я говорю об этом, потому что впервые вижу такие документы. В основном я из домена Oracle. Основная проблема, с которой я столкнулся с документом, заключается в том, что не все процедуры имеют крошечный код для объяснения синтаксиса. Итак, как выполнить такую ​​домашнюю работу, чтобы понять, какие процедуры можно использовать внутри кода. В доке такие крошечные коды с небольшим количеством процедур, не для всех. Любые предложения по этому поводу. Я очень хочу узнать эту платформу, но документация иногда помогает, иногда нет. - person DoLoveSky; 21.01.2013
comment
Для любого предмета в Ruby/Rails первое, что я делаю, это проверяю, есть ли по нему RailsCasts эпизод. Вот вариант для механизации: railscasts.com/episodes/191-mechanize Это дает хороший вступление; после этого будет легче разбираться в официальной документации. - person Prakash Murthy; 21.01.2013
comment
Хорошо! этот вопрос не субъективен, все же хотелось бы спросить у вас, что - вы из India? :) Я из Калькутты, Индия. - person DoLoveSky; 21.01.2013
comment
Я закончил, сэр. На самом деле приятного вкуса я не получаю из-за моей незрелости с документацией. С каждой процедурой они предоставили исходный код, а не крошечный синтаксический пример. Это боль для нового ученика - в основном, кто занимается самообучением! - person DoLoveSky; 21.01.2013

Возможно, было бы проще просто сохранить файл следующим образом:

File.open('myfname.pdf', 'wb'){|f| f << agent.get('http://example.com/foo.pdf').body}
person pguardiario    schedule 22.01.2013
comment
Спасибо за предложение, я проверю так же. - person DoLoveSky; 22.01.2013