Получение данных с сайта, требующего аутентификации
В PowerBI я хотел бы получать данные с веб-сайта, требующего аутентификации ( http://kdp.amazon.com/). Переход на New Source, Web, Advanced не показывает мне ничего, что выглядит многообещающе. Надеюсь, я что-то упустил.
Мой идеал - перейти на определенную веб-страницу (после аутентификации) и щелкнуть ссылку, которая позволяет мне загрузить таблицу Excel.
Спасибо за любые идеи / указатели.
3 ответа
Это зависит, и шансы невелики для вашего случая.
Если это прямой URL-адрес, по которому размещаются данные или файл (например, данные находятся на странице, ссылка на файл, конечная точка веб-API), то это зависит от того, какой метод аутентификации используется веб-сайтом, и можете ли вы предоставить учетные данные через параметры Web.Contents. (обычно используется для аутентификации веб-API)
Если для доступа к данным / файлу после аутентификации требуется дополнительная навигация (например, нажмите, введите информацию), то ответ - нет.
Этот тип очистки данных может быть выполнен с использованием браузера без головы и механизма сценариев / макросов.
Например, xvfb (виртуальный фреймбуфер X) + firefox + iMacros. Я считаю, что это за пределами возможностей Power Bi. Если вы хотите продолжить это, вот несколько ссылок:
https://en.wikipedia.org/wiki/Xvfb
https://addons.mozilla.org/en-us/firefox/addon/imacros-for-firefox/
Опять же, похоже, но с использованием альтернативного набора инструментов:
http://scraping.pro/use-headless-firefox-scraping-linux/
Кстати, сделав это один или два раза раньше - это не очень ценное предложение. Если вам приходится прибегать к подобной тактике, возможно, пришло время подумать, почему разработчики не предоставили вам эту функциональность в API - может, есть веская причина?
Мой идеал - перейти на определенную веб-страницу (после аутентификации) и щелкнуть ссылку, которая позволяет мне загрузить таблицу Excel.
Это типичный вариант использования веб-макроса. Они записывают заполнение формы, клики и скачивание на веб-сайте, а затем могут воспроизвести ее. Хорошие из них:
- iMacros для Firefox (мощные команды, такие как EVAL)
- Kantu Web Automation (очень прост в использовании, вместо селекторов используются скриншоты)
- Selenium IDE (но этот не поддерживает загрузку файлов)
Если вам не нужна запись и вы знакомы с CSS-селекторами и XPath для создания сценария автоматизации вручную, посмотрите на такие инструменты, как:
- Selenium WebDriver
- PhantomJS