Парсинг данных с любой страницы на jQuery

Парсинг данных на jQuery

var snippetJqueryParse = function() {
  function colorTrace(msg, color, isBold = false) {
    var _sfx = isBold ? "font-weight:bold;" : '';
    console.log("%c" + msg, "color:" + color + ";" + _sfx);
  }
 
  // Поехали!
 
  colorTrace('Как спарсить информацию из браузера средствами jQuery?', 'green', true);
  colorTrace('1. Загружаем jQuery', 'green');
 
  var loadScript = function (url, callback) {
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    script.onreadystatechange = callback;
    script.onload = callback;
    head.appendChild(script);
  };
 
  colorTrace('2. Парсим на jQuery', 'green');
  loadScript('https://code.jquery.com/jquery-1.7.0.min.js', function(){
    var sections = [];
    $('#section-7200 > div').each(function(){
      var text = $.trim($(this).find('a:eq(1)').text());
      if(text) {
        sections.push(text);
      }
    });
    colorTrace('3. Получаем результат', 'green');
    console.log(JSON.stringify(sections));
    colorTrace('Подробности на http://pushorigin.ru', '#4285F4', true);
  });
};
 
clear();
snippetJqueryParse();

Методика

Открываем консоль (Ctrl + Shift + J в Chrome), вся дальнейшая работа - в консоли.

На странице с фреймами необходимо в консоли выбрать нужный фрейм.

Проверяем есть ли вообще jQuery на странице:

jQuery
// или
jQuery.fn.jquery

Если jQuery на странице не подключен, то:

Создаем загрузчик любых скриптов:

loadScript = function (url, callback) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.onreadystatechange = callback;
script.onload = callback;
head.appendChild(script);};

Загружаем из CDN jQuery:

loadScript('https://code.jquery.com/jquery-1.7.0.min.js', function(){console.log('load jQuery ok');});

Парсим данные на примере этой страницы документации Битрикса:

var sections = [];
$('#section-7200 > div').each(function(){
  sections.push($(this).find('a:eq(1)').text());
});
// вывод в консоль
console.log(sections);
// вывод в консоль JSON - второй вариант
JSON.stringify(sections);
// копирование в буфер!
copy(JSON.stringify(sections));

Примеры

var sections = [];
$('.pagina .item').each(function(){
  var data = {
    img: $(this).find('img').css('background-image'),
    name: $(this).find('h3').text(),
    post: $(this).find('.caption p').text()
  }
  sections.push(data);
});
JSON.stringify(sections);
// Массовая смена имени пользователя в админке Bitrix
$('[NAME]').filter(function(index){ return $(this).attr('name').match(/FIELDS\[.*\]\[NAME\]/); }).val('My new name');
Печать/экспорт