boypush
@boypush
Geek

Извлечение данных с веб страницы, как?

Подскажите пожалуйста, можно-ли как-то извлекать данные (например какой нибудь номер) с открытой мною на данный момент веб страницы и сохранять его в текстовый файл?
Интересует именно локальный метод.
Может какой-то специальный браузер или программа?
Возможно-ли это?
К примеру сейчас у меня открыта веб страница с этим вопросом и я хочу только текст вопроса записать в текстовый файл.
Среда Windows.
  • Вопрос задан
  • 854 просмотра
Пригласить эксперта
Ответы на вопрос 2
erge
@erge
Примус починяю
посмотрите ролики:
https://www.youtube.com/results?search_query=chrom...

переходите в хроме режим отладки нажатием F12
в режиме отладки нажимаете Ctrl+shift+C , далее наводите указатель мыши на текст вопроса на странице и кликаете, справа в отладке откроется исходник с указанным элементом
<div class="question__text js-question-text" itemprop="text description">
....


чтобы получить текст этого элемента , выбираете его селектором по атрибуту class и берете содержимое
выполнив в консоли окна отладки код:
let text = document.querySelector(".question__text.js-question-text").textContent;
console.log(text);


но вот чтобы записать его в файл, необходимо написать расширение браузера (Chrome-Extenstions), смотрите как делаются расширения.
из расширения можно записать файл, например так:

let obj = {
    "filename": "file.txt",
    "url": 'text/plain;charset=UTF-8,' + encodeURIComponent(text),
    "conflictAction": "prompt",
    "saveAs": true
  };
chrome.downloads.download(obj);


См. chrome.downloads

Upd:
Вот вариант сохранения текста элемента из консоли браузера:
let text = document.querySelector(".question__text.js-question-text").textContent;
let a = document.createElement("a");
a.setAttribute("href", "data:text/plane;base64,"+window.btoa(unescape(encodeURIComponent(text))));
a.setAttribute("download","YourFileName.txt");
a.click();


Upd2:
Кроме того, скрипт выше можно оформить в виде букмарклета

прямо как есть:
javascript:a = document.createElement("a"); a.setAttribute("href", "data:text/plane;base64,"+window.btoa(unescape(encodeURIComponent(document.querySelector(".question__text.js-question-text").textContent)))); a.setAttribute("download","YourFileName.txt");a.click();


или обрамив в функцию:
javascript:(function(){a = document.createElement("a"); a.setAttribute("href", "data:text/plane;base64,"+window.btoa(unescape(encodeURIComponent(document.querySelector(".question__text.js-question-text").textContent)))); a.setAttribute("download","YourFileName.txt");a.click();})()


таким образом кликая на ссылку-букмарклет в избранном будет вызываться данный скрипт и сохраняться текст.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы