Как стать автором
Обновить

LinkedIn проиграла еще одну тяжбу, cуд в США признал законность веб-скрейпинга

Поисковые технологии *Законодательство в IT Социальные сети и сообщества

Апелляционный суд девятого округа США признал законность веб-скрейпинга — сбора данных со страниц веб-ресурсов. Суд постановил, что соцсеть LinkedIn не имеет права запрещать компании hiQ Labs собирать публичные данные о ее пользователях. 

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 5.3K
Комментарии 3

Веб-скрейпинг и .Net

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

Читать дальше →
Всего голосов 43: ↑25 и ↓18 +7
Просмотры 9.3K
Комментарии 48

Как работает web-spider

Разработка веб-сайтов *
Из песочницы
Предположим, перед нами стоит такая задача: собирать информацию о рекламных объявлениях с различных сайтов в разных категориях. В дальнейшем эта информация будет использоваться для мониторинга и анализа рынка, оповещения о каких-то событиях на этом рынке. Похоже на создание мини- поисковой системы.

По сути дела, имеем 4 подсистемы:
1. Сервис запуска плагинов, собирающих и извлекающих информацию
2. Временное хранилище данных
3. Индекс данных
4. Приложения для работы с извлеченными данными, например, генератор отчетов

Рассмотрим последовательно каждую систему.

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 10K
Комментарии 3

Web scraping при помощи Node.js

JavaScript *Программирование *Data Mining *Node.JS *

Это первая статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js.


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

Тема веб-скрейпинга вызывает всё больше интереса как минимум потому, что это неисчерпаемый источник небольших, но удобных и интересных заказов для фрилансеров. Естественно, что всё больше людей пытаются выяснить, что это такое. Однако, довольно трудно понять, что такое веб-скрейпинг по абстрактным примерам из документации к очередной библиотеке. Гораздо проще разобраться в этой теме наблюдая за решением реальной задачи шаг за шагом.


Обычно, задача для веб-скрейпинга выглядит так: есть данные, доступные только на веб-страницах, и их надо оттуда вытащить и сохранить в неком удобоваримом формате. Конечный формат не важен, так как конвертеры никто не отменял. По большей части речь о том, чтобы открыть браузер, пройтись мышкой по ссылкам и скопипейстить со страниц нужные данные. Ну, или сделать то же самое скриптом.


Цель этой статьи – показать весь процесс создания и использования такого скрипта от постановки задачи и до получения конечного результата. В качестве примера я рассмотрю реальную задачу вроде тех, какие часто можно найти, например, на биржах фриланса, ну, а в качестве инструмента для веб-скрейпинга будем использовать Node.js.

Читать дальше →
Всего голосов 23: ↑17 и ↓6 +11
Просмотры 136K
Комментарии 44

Web scraping на Node.js и проблемные сайты

JavaScript *Программирование *Data Mining *Node.JS *

Это вторая статья в цикле про создание и использование скриптов для веб-скрейпинга на Node.js.


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

В первой статье разбиралась простейшая задача из мира веб-скрейпинга. Именно такие задачи достаются веб-скрейперам в подавляющем большинстве случаев – получение данных с незащищённых HTML-страниц стабильно работающего сайта. Быстрый анализ сайта, HTTP-запросы при помощи needle (организованные при помощи tress), рекурсивный проход по ссылкам, DOM-парсинг при помощи cheerio – вот это вот всё.


В этой статье разбирается более сложный случай. Не из тех, когда приходится отказываться от взятого с боем заказа, но из тех, которые начинающему скрейперу могут сорвать дедлайн. К слову, эта задача содержалась в реальном заказе на одной международной бирже фриланса, и первый исполнитель её провалил.


Цель этой статьи (как и прошлой) – показать весь процесс создания и использования скрипта от постановки задачи и до получения конечного результата, однако темы, уже раскрытые в первой статье, освещаются здесь довольно кратко, так что начать я рекомендую с первой статьи. Тут акцент будет на анализ сайта с точки зрения веб-скрейпинга, выявление подводных камней и способы их обхода.

Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 32K
Комментарии 11

Web scraping на Node.js и защита от ботов

JavaScript *Программирование *Data Mining *Node.JS *

Это третья статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js:


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

В первой статье разбирались базовые аспекты веб-скрейпинга, такие как получение и парсинг страниц, рекурсивный проход по ссылкам и организация очереди запросов. Во второй статье разбирались анализ сайта, работающего через Ajax, тонкая настройка очереди запросов и обработка некоторых серверных ошибок.


Также во второй статье затрагивалась тема инициализации сессий, но, там речь шла о предельно простом случае, когда достаточно выполнить один дополнительный запрос и сохранить куки.


В этой статье разбирается более сложный случай – инициализация сессий с авторизацией по логину и паролю и с преодолением довольно изощрённой защиты от ботов. Как обычно, на примере реальной (и весьма популярной среди скрейперов) задачи.


Важное примечание

В большинстве случаев защита от ботов на сайте направлена не против скрейперов, а против таких вещей, как мошенничество, накрутки или спам в комментариях. Однако это всегда лишний повод задуматься о легальности и этичности скрейпинга именно этого сайта. В этой статье для примера выбран сайт, про который хорошо известно, что его владельцы нормально относятся к скрейпингу (хотя и предпочитают, чтобы он выполнялся через специальный API). Простые правила: если у сайта есть открытый API, значит его владельцы рады скрейперам, а если сайт большой и ультрапосещаемый, нагрузка от скрейпинга в обход API его особо не побеспокоит.


В прошлых статьях целью было показать весь процесс создания и использования скрипта от постановки задачи и до получения конечного результата. В этой статье большая часть аспектов веб-скрейпинга обходится стороной, а вместо этого показывается многообразие подходов к решению одной, довольно узкой задачи. Различные методы и инструменты, их плюсы и минусы, субъективные оценки, примеры кода, вот это вот всё.

Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 35K
Комментарии 15

Web scraping обновляющихся данных при помощи Node.js и PaaS

JavaScript *Программирование *Data Mining *Node.JS *

Это уже четвёртая статья в цикле про веб-скрейпинг при помощи Node.js:


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

В прошлых статьях были рассмотрены получение и парсинг страниц, рекурсивный проход по ссылкам, организация и тонкая настройка очереди запросов, анализ Ajax-сайтов, обработка некоторых серверных ошибок, инициализация сессий и методы преодоления защиты от ботов.


В этой статье разбираются такие темы, как веб-скрейпинг регулярно обновляющихся данных, отслеживание изменений и использование облачных платформ для запуска скриптов и сохранения данных. Ещё внимание уделяется разделению задач веб-скрейпинга и обработки готовых данных, а также тому, чего стоит избегать при работе с обновляющимися сайтами.


Цель статьи – показать весь процесс создания, развёртывания и использования скрипта от постановки задачи и до получения конечного результата. Как обычно, для примера используется реальная задача, какие часто встречаются на биржах фриланса.

Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 17K
Комментарии 4

Подключаем онлайн-карты к навигатору на смартфоне. Часть 2 – векторные карты

Google Chrome Node.JS *OpenStreetMap *Геоинформационные сервисы *
Туториал

Пишем серверное приложение, которое будет генерировать растровые PNG тайлы на основе векторных онлайн-карт. Использование веб-срейпинга с помощью Puppeteer для получения картографических данных.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.9K
Комментарии 4

Подключаем онлайн-карты к навигатору на смартфоне. Часть 3 — OverpassTurbo

Google Chrome Node.JS *OpenStreetMap *Геоинформационные сервисы *
Туториал

Превращаем созданный ранее скрипт в API для просмотра интерактивной карты с сайта OverpassTurbo.eu через навигационное приложение смартфона.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 2.8K
Комментарии 3

Как решить проблемы сайтов-агрегаторов с помощью резидентных прокси

Блог компании INFATICA.io Информационная безопасность *Сетевые технологии *


Изображение: Pexels

Для сайтов-агрегаторов в сфере электронной коммерции крайне важно поддерживать актуальную информацию. В противном случае исчезает главное их преимущество – возможность видеть самые релевантные данные в одном месте.

Для того, чтобы решить эту задачу необходимо использовать технику веб-скрейпинга. Ее смысл в том, что создается специальный софт – краулер, который обходит нужные сайты из списка, парсит информацию с них и загружает ее на сайт-агрегатор.

Проблема в том, что зачастую владельцы сайтов, с которых берут данные агрегаторы, вовсе не хотят так легко предоставлять им доступ. Это можно понять – если информация о цене в интернет-магазине попадет на сайт агрегатор и окажется выше, чем у конкурентов, представленных там же – бизнес потеряет покупателей.
Читать дальше →
Всего голосов 23: ↑14 и ↓9 +5
Просмотры 2.8K
Комментарии 4

Четыре проекта с веб-скрейпингом, которые позволят упростить себе жизнь

Блог компании VDSina.ru Python *Программирование *Лайфхаки для гиков
Перевод
image

Подумайте обо всех тех вещах, которые вы делаете в течение дня. Возможно, вы читаете новости, отправляете электронные письма, находите самые выгодные цены на товары или ищете работу онлайн. Большинство этих задач можно автоматизировать при помощи веб-скрейпинга, поэтому вместо того, чтобы вы тратили часы на изучение веб-сайтов, компьютер может сделать это за вас в течение пары минут.

Веб-скрейпинг — это процесс извлечения данных с веб-сайта. Для изучения веб-скрейпинга достаточно пройти туториал о принципах работы таких библиотек Python, как Beautiful Soup, Selenium или Scrapy; однако если вы не будете применять на практике все изученные концепции, то время окажется потраченным впустую.

Именно поэтому стоит попробовать создавать проекты с веб-скрейпингом, которые не только помогут вам освоить теорию веб-скрейпинга, но и позволять разработать ботов. автоматизирующих повседневные задачи.

В этой статье я перечислю проекты, которые автоматизируют четыре задачи, ежедневно выполняемые многими людьми. Проекты изложены по возрастанию сложности, от начальных до продвинутых.
Читать дальше →
Всего голосов 33: ↑27 и ↓6 +21
Просмотры 17K
Комментарии 2

Big Data + Machine Learning = Love

Блог компании FirstVDS Big Data *Машинное обучение *Искусственный интеллект Data Engineering *

В статье рассмотрим, как машинное обучение помогает обрабатывать большие объемы данных и извлекать ключевую информацию, скрытую в них. И, разумеется, приведем примеры совместного использования Big Data и Machine Learning (ML), а также расскажем об интересных проектах для тех, кто хотел бы начать работать с большими данными и ML.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 2K
Комментарии 0