Что нового

Автоматизация Данные из HTML перенести в EXCEL

Katty

Новичок
Сообщения
4
Репутация
0
Версия AutoIt: 3.3.14.5
Описание: Данные из HTML перенести в EXCEL



Описание:

Нужны выборочные данные для переноса:
ФИО
Дата рождения
Возраст
Город
Номер телефона
Е-мейл
Желаемая должность и зарплата
Опыт работы
Последнее место работы
Когда было обновлено резюме
HTML:
`<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Резюме "интернет-маркетолог (user acquisition)"</title>
<link rel="stylesheet" href="https://i.hh.ru/css/other/pages/__resume-export_f3b395f4cb454..">
</head>

<body>
<div class="resume">
<p class="info-footer">Резюме обновлено 25 сентября 2019 в 17:47</p>
<p class="resume__body"></p>
<p class="resume__title">Вавилова Анна Валерьевна</p>
<p>Женщина, 27&nbsp;лет, родилась
<text>15</text>
<text>октября</text>
<text>1991</text>
</p>
<br>
<p>+7&nbsp;(953)&nbsp;4445605</p>
<p>[email protected]<span class="info"> — предпочитаемый способ связи</span></p>
<br>
<p>Проживает: Санкт-Петербург</p>
<p>Гражданство: Россия, есть разрешение на работу: Россия</p>
<p>Хочу переехать: Санкт-Петербург, готова к редким командировкам</p>
<p class="resume__block">Желаемая должность и зарплата</p>
<p class="resume__position">интернет-маркетолог (user acquisition)</p>
<p><span class="resume__salary">80&nbsp;000</span> руб.</p>
<p>Маркетинг, реклама, PR</p>
<ul>
<li class="resume-specialization">PR, Маркетинговые коммуникации</li>
<li class="resume-specialization">Бренд-менеджмент</li>
<li class="resume-specialization">Интернет-маркетинг</li>
</ul>
<br>
<p></p>
<p>Занятость: полная занятость</p>
<p>График работы: удаленная работа, гибкий график, полный день</p>
<p></p>
<p>Желательное время в пути до работы: не имеет значения</p>
<p class="resume__block">Опыт работы — 6 лет 2 месяца</p>
<ul>
<li class="resume-experience"><span class="resume-experience__company">Mail.Ru Group</span>
<p class="info">corp.mail.ru/</p>
<p class="bloko-form-hint">Ноябрь 2017 — настоящее время 1 год 11 месяцев</p>
<p class="resume-experience__position">маркетолог (user acquisition)</p>
<p>
<description>-планирование, запуск и оптимизация рекламных кампаний (Facebook, UnityAds, Vungle, ADcolony и др) для мобильных игр (gamedev);
<br>-оценка качества трафика и эффективности рекламных кампаний;
<br>-мониторинг бюджетов;
<br>-поиск новых подходов в закупке;
<br>-взаимодействие с командами дизайна, разработки и аналитики;
<br>-influencer marketing (выбор релевантных youtube каналов, запуск кампаний с блогерами, оценка трафика)</description>
</p>
</li>
<li class="resume-experience"><span class="resume-experience__company">ООО Компания "Дукат" (Холдинг)</span>
<p class="info">dykat.com/</p>
<p class="bloko-form-hint">Июнь 2013 — Август 2017 4 года 3 месяца</p>
<p class="resume-experience__position">Менеджер по маркетингу и рекламе</p>
<p>
<description>-проведение исследований рынка b2b кондитерской отрасли и составление отчетов и маркетинговых стратегий на основе результатов;
<br>-планирование и организация крупных маркетинговых мероприятий (технологические семинары; профильные выставки, напр. Продэкспо, food service / ifff moscow);
<br>- ведение и контроль контекстной рекламы (Яндекс Директ, Google Adwords), анализ данных по ведению рекламы и продвижению сайта Компании (Яндекс Метрика, Google Analitics), ведение страниц компании на facebook, vk, youtube.
<br>- осуществление взаимодействия с рекламными агентствами в создании фирменных сувениров для вип-клиентов; а также разработка и создание полиграфической продукции Компании;
<br>- написание и размещение статей и пресс-релизов на профильных ресурсах (журналы, новостные порталы, корпоративная газета)</description>
</p>
</li>
</ul>
<p class="resume__block">Образование</p>
<ul>
<li>Высшее</li>
<li class="resume-education"><span class="resume-education__name">Пензенский государственный технический университет, Пенза</span>
<p class="bloko-form-hint">2013</p>
</li>
<p>экономический, Экономика и управление на предприятии (по отраслям)</p>
</ul>
<p class="resume__block">Ключевые навыки</p>
<ul>
<li class="resume-skils"><span class="bloko-form-hint">Знание языков</span>
<ul class="resume-skils__item">
<li>Русский<span class="info"> — Родной</span></li>
<li>Английский<span class="info"> — B2 — Средне-продвинутый</span></li>
</ul>

</li>
<li class="resume-skils"><span class="bloko-form-hint">Навыки</span>
<p class="resume-skils__i

tem"><span>Английский язык; </span><span>Деловая переписка; </span><span>Работа в команде; </span><span>Организация мероприятий; </span><span>Работа с большим объемом информации</span></p>
</li>
</ul>
<p class="resume__block">Дополнительная информация</p>
<ul>
<li class="resume-skils"><span class="bloko-form-hint">Обо мне</span>
<p class="resume-skils__item">
<string>Работая в крупнейшей IT кампании, приобрела бесценный опыт в digital marketing, работе с большими объемами данных и не менее большим количеством коллег.
<br>Поэтому среди своих профессиональных качеств выделяю: готовность браться за новые задачи, доведение дел до конца, умение работать в коллективе и идти на компромиссы.
<br>С радостью готова делиться опытом и продолжать развиваться в данной сфере.
<br>
<br>Увлечения: рисунок, живопись; спорт; история России, французский язык.</string>
</p>
</li>
</ul>
<p></p>
</div>
</body>

</html>
Сообщение автоматически объединено:

Случайно нажала ctrl + enter и не дописала - нужны выборочные данные,которые будут вписываться в таблицу excel, названия колонок представлены дальше:
ФИО
Номер телефона
e-mail
ЗП (может быть пустым)
Ищет работу на должность
Город
Занятость
График
Опыт
Последенее/нынешнее место работы
Образование и ВУЗ
Возраст
Дата рождения
Пол
Дата обновления резюме
 
Последнее редактирование модератором:

alex33

Скриптер
Сообщения
1,457
Репутация
186
Если бы это был <table>, было б проще. А так, это обычным текстом. Если только регулярными выражениями всё искать, но не факт, ччто с остальными будет работать хорошо.
 
Автор
K

Katty

Новичок
Сообщения
4
Репутация
0
Если бы это был <table>, было б проще. А так, это обычным текстом. Если только регулярными выражениями всё искать, но не факт, ччто с остальными будет работать хорошо.
А если так? file:///home/katty/%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8/%D1%80%D0%B5%D0%B7%D1%8E%D0%BC%D0%B5%20(1).html
 

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
Для представленного примера:
скопировать html код в буфер обмена.
Код:
#include <array.au3>
#include <Excel.au3>

Global $massiv[15][2]

$massiv[0][0] = 'ФИО'
$massiv[1][0] = 'Дата рождения'
$massiv[2][0] = 'Возраст'
$massiv[3][0] = 'Город'
$massiv[4][0] = "Номер телефона"
$massiv[5][0] = "Почта"
$massiv[6][0] = "Должность желаемая"
$massiv[7][0] = "Зарплата"
$massiv[8][0] = "Занятость"
$massiv[9][0] = "График работы"
$massiv[10][0] = 'Опыт работы'
$massiv[11][0] = 'Последнее место работы'
$massiv[12][0] = 'Образование и ВУЗ'
$massiv[13][0] = "Пол"
$massiv[14][0] = "Дата обновления резюме"
;$massiv[14][0] = "ВУЗ"
$hPut = ClipGet()






$fio = StringRegExp($hPut, '"resume__title">(.*?)</p>', 3)


If Not @error Then
    $massiv[0][1] = $fio[0]
EndIf


$drozhd = StringRegExp($hPut, '<text>(.*?)</text>', 3)
If Not @error Then
    $massiv[1][1] = $drozhd[0] & ' ' & $drozhd[1] & ' ' & $drozhd[2]
EndIf

$temp = StringRegExp($hPut, '<p>(.*?)\R', 3)
If Not @error Then
    ;_ArrayDisplay ($temp)
    $massiv[2][1] = StringRegExpReplace($temp[0], '\D', '') ;возраст
    $massiv[4][1] = StringRegExpReplace($temp[1], '\D', '') ; телефон
    $massiv[5][1] = StringRegExpReplace($temp[2], '<span(.*)', '') ; почта
    $temp[3] = StringRegExpReplace($temp[3], '(.*) ', '')
    $massiv[3][1] = StringRegExpReplace($temp[3], '</p>', '') ;город
    $massiv[7][1] = StringRegExpReplace($temp[6], '\D', '') ;ЗП
    $massiv[6][1] = StringRegExpReplace($temp[7], '</p>', '') ;должность
    $temp[9] = StringRegExpReplace($temp[9], '(.*?): ', '') ;занятость
    $massiv[8][1] = StringRegExpReplace($temp[9], '</p>', '')
    $temp[10] = StringRegExpReplace($temp[10], '(.*?): ', '') ;график работы
    $massiv[9][1] = StringRegExpReplace($temp[10], '</p>', '')
    $massiv[12][1] = StringRegExpReplace($temp[15], '</p>', '') ; Образование
    $massiv[13][1] = StringRegExpReplace($temp[0], ',(.*)', '') ;возраст
EndIf

$temp = ''
$temp = StringRegExp($hPut, 'block">(.*?)</p>', 3)
If Not @error Then
    $massiv[10][1] = $temp[1]
EndIf

$temp = ''
$temp = StringRegExp($hPut, 'company">(.*?)</span>', 3)
If Not @error Then
    $massiv[11][1] = $temp[0]
EndIf

$temp = ''
$temp = StringRegExp($hPut, 'education__name">(.*?)</span>', 3)
If Not @error Then
    $massiv[12][1] = $massiv[12][1] & ' ' & $temp[0]
EndIf

$temp = ''
$temp = StringRegExp($hPut, 'footer">(.*?)</p', 3)

If Not @error Then
    $temp[0] = StringRegExpReplace($temp[0], '(.*?) ', '', 2)
    $temp[0] = StringRegExpReplace($temp[0], ' в(.*)', '')
    $massiv[14][1] = $temp[0]
EndIf

Local $oExcel = _ExcelBookNew()

_ExcelWriteArray($oExcel, 1, 1, $massiv) ; Записываем содержимое массива в ячейки листа - в горизонтальном направлении(вправо)

Выполнено через регулярные выражения. Как написал alex33, не факт, что будет работать с другими страницами.
Ссылка не рабочая.
P/S Excel не установлен, поэтому не ручаюсь, что запись в книгу будет работать, но в любом случае у вас есть массив.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
поэтому не ручаюсь, что запись в книгу будет работать
В таком виде запись в Excel работать не будет, замените в конце скрипта запись в Excel на эти строки :
Код:
$oExcel=_Excel_Open(False)
$oWorkBook=_Excel_BookNew($oExcel)
_Excel_RangeWrite($oWorkBook,Default,$massiv)
_Excel_BookSaveAs($oWorkBook,@ScriptDir&'\1.xlsx')
_Excel_Close($oExcel)
 
Верх