Процесс парсинга усложняется существенными затратами времени на обработку данных. Многопоточность поможет в разы увеличить скорость обработки данных. Сайт для парсинга — «Справочник купюр мира», где получим валюту в соотношении к иным.
Читать полностью »
Рубрика «парсинг» - 5
Реализация на Python многопоточной обработки данных для парсинга сайтов
2017-03-05 в 11:50, admin, рубрики: python, многопоточность, парсингPython — язык программирования, предназначенный для работы с текстом. Однако, с его помощью можно решать иные задачи, которые, на первый взгляд, с самим текстом никак не связаны.
Задача, которая перед нами стоит — скачивание музыкальных произведений с сайта предоставляющего такую возможность.
Читать полностью »
Анализ статей Хабрахабр и Geektimes
2017-02-05 в 19:18, admin, рубрики: wolfram language, wolfram mathematica, Алгоритмы, визуализация, визуализация данных, обработка данных, парсинг, поиск закономерностей, Программирование, статистика, хабрахабр
Сначала была идея собрать частотный словарь слов Хабрахабр и Geektimes, но потом нашла прекрасное: Детальный анализ Хабрахабра с помощью языка Wolfram Language (Mathematica) (перед просмотром данной статьи рекомендую пройти по ссылке), увидела разницу в результатах и решила сделать подобное для статей с Хабрахабр и Geektimes. В обзор не попали статьи с подкастами и нестандартным оформлением (habrahabr.ru/article). Получился анализ 170000 статей. Все изображения кликабельны. Код Wolfram Notebook на github. Датасет на Яндекс.Диске.
Читать полностью »
Классические парсер-комбинаторы на Python
2016-12-10 в 9:04, admin, рубрики: python, для начинающих, парсер-комбинаторы, парсингПарсером называется часть программы, которая из линейной последовательности простых данных строит более сложные структуры данных с учетом некоторой грамматики.
Функциональные языки программирования позволяют описывать функции высших порядков, которые принимают в качестве аргументов и возвращают как результат другие функции.
Парсер-комбинаторы – известная техника создания парсеров, которая использует возможности функциональных языков программирования для динамического построения более сложных парсеров из простых по правилам некоторой грамматики.
Читать полностью »
Парсинг резюме
2016-10-12 в 2:29, admin, рубрики: nlp, анализ текстов, машинное обучение, парсинг, парсинг резюме, поисковые технологии, СемантикаТе кто сталкивался с задачами автоматизированного анализа резюме, представляют современное состояние дел в этой области — существующие парсеры в основном ограничиваются выделением контактных данных и ещё нескольких полей, таких как «должность» и «город».
Для сколько-нибудь осмысленного анализа этого мало. Важно не только выделить некие строки и пометить их тегами, но и определить, что за объекты кроются за ними.
Живой пример (кусок XML результата анализа резюме от одного из лидеров области Sovren):
<EmployerOrg>
<EmployerOrgName>ООО Звезда-DSME</EmployerOrgName>
<PositionHistory positionType="directHire">
<Title>Ведущий специалист отдела развития информационных систем</Title>
<OrgName>
<OrganizationName>ООО Звезда-DSME</OrganizationName>
</OrgName>
Парсер Sovren прекрасно справился с выделением полей. Ребята не зря занимаются этим делом без малого 20 лет!
Но что дальше делать с «Ведущий специалист отдела развития информационных систем»? Как понять, что же это за должность, насколько опыт работы этого человека релевантен для той или иной вакансии?
Читать полностью »
Scrapy: собираем данные и сохраняем в базу данных
2016-08-28 в 7:54, admin, рубрики: python, scrapy, sqlalchemy, sqlite, парсинг, метки: ScrapyВведение
Меня заинтересовал данный фреймворк для сбора информации с сайтов. Здесь были публикации по Scrapy, но поскольку детальной информации на русском языке мало, то я хотел бы рассказать о своем опыте.
Читать полностью »
Как распарсить JSON-строку в командной строке Linux
2016-07-10 в 19:25, admin, рубрики: cli, command line, console, data mining, javascript, jq, json, linux, nix, parse, parser, string, tool, utility, инструмент, командная строка, консоль, парсинг, разбор, Разработка под Linux, Тестирование веб-сервисов, утилита, метки: jq
Если вы часто работаете с текстами формата JSON из командной строки или в шелл-скриптах, вы можете задаться вопросом, есть ли какая-то консольная утилита, которая может распарсить JSON-строку. Консольный JSON-парсер может быть удобен, когда вы тестируете или отлаживаете сетевые JSON-сервисы. Вы можете скормить ответы формата JSON от веб-сервиса консольному JSON-парсеру, тем самым легко изучая трудночитаемые JSON-ответы или извлекая из них отдельные объекты.
В этом руководстве я покажу, как распарсить JSON-строку из командной строки.
Читать полностью »
Как стать IT-принцессой
2016-04-20 в 7:23, admin, рубрики: html, python, информационная безопасность, парсинг
Каждая девочка мечтает стать принцессой, быть самой красивой, самой умной и обязательно встретить принца. Множество маркетологов и PR-акул обогатили свои компании, играя на этих простых девичьих мечтах. Сферу IT, мужскую и брутальную, это явление тоже не обошло стороной. Известная компания запустила громкий конкурс на звание титула IT-принцессы. Всех, кто слышал и кому интересно, как оно было, приглашаю под кат.
Читать полностью »
Теория и практика парсинга исходников с помощью ANTLR и Roslyn
2016-03-03 в 13:39, admin, рубрики: .net, antlr, AST, C#, java, php, PLSQL, roslyn, tsql, Блог компании Positive Technologies, грамматика, Компиляторы, неоднозначность, ошибка синтаксиса, парсинг, ПрограммированиеВ нашем проекте PT Application Inspector реализовано несколько подходов к анализу исходного кода на различных языках программирования:
- поиск по сигнатурам;
- исследование свойств математических моделей, полученных в результате статической абстрактной интерпретации кода;
- динамический анализ развернутого приложения и верификация на нем результатов статического анализа.
Наш цикл статей посвящен структуре и принципам работы модуля сигнатурного поиска (PM, pattern matching). Преимущества такого анализатора — скорость работы, простота описания шаблонов и масштабируемость на другие языки. Среди недостатков можно выделить то, что модуль не в состоянии анализировать сложные уязвимости, требующие построения высокоуровневых моделей выполнения кода.
К разрабатываемому модулю были, в числе прочих, сформулированы следующие требования:
- поддержка нескольких языков программирования и простое добавление новых;
- поддержка анализа кода, содержащего синтаксические и семантические ошибки;
- возможность описания шаблонов на универсальном языке (DSL, domain specific language).
В нашем случае все шаблоны описывают какие-либо уязвимости или недостатки в исходном коде.
Весь процесс анализа кода может быть разбит на следующие этапы:
- парсинг в зависимое от языка представление (abstract syntax tree, AST);
- преобразование AST в независимый от языка унифицированный формат;
- непосредственное сопоставление с шаблонами, описанными на DSL.
Данная статья посвящена первому этапу, а именно: парсингу, сравнению функциональных возможностей и особенностей различных парсеров, применению теории на практике на примере грамматик Java, PHP, PLSQL, TSQL и даже C#. Остальные этапы будут рассмотрены в следующих публикациях.
Читать полностью »
Распарсить HTML в .NET и выжить: анализ и сравнение библиотек
2015-12-23 в 16:02, admin, рубрики: .net, AngleSharp, C#, CsQuery, Fizzler, html, HtmlAgilityPack, regex, парсинг, Программирование, разработка, метки: AngleSharp, CsQuery, Fizzler, HtmlAgilityPack
В ходе работы над одним домашним проектом, столкнулся с необходимостью парсинга HTML. Поиск по гуглу выдал комменарий Athari и его микро-обзор актуальных парсеров HTML в .NET за что ему огромное спасибо.
К сожалению, никаких цифр и/или аргументов в пользу того или иного парсера найдено не было, что послужило поводом к написанию данной статьи.
Сегодня я протестирую популярные, на данный момент, библиотеки для работы с HTML, а именно: AngleSharp, CsQuery, Fizzler, HtmlAgilityPack и, конечно же, Regex-way. Сравню их по скорости работы и удобству использования.
TL;DR: Код всех бенчмарков можно найти на github. Там же лежат результаты тестирования. Самым актуальным парсером на данный момент является AngleSharp — удобный, быстрый, молодежный парсер с удобным API.
Тем, кому интересен подробный обзор — добро пожаловать под кат.
Читать полностью »