Іноді виникає необхідність отримати дані з веб-сторінок і зберегти їх в структурованому вигляді.

Інструменти веб-скрапинга (web scraping) розробляються для витягання даних з веб-сайтів. Ці інструменти бувають корисні тим, хто намагається отримати дані з Інтернету. Веб-скрапинг — це технологія, що дозволяє отримувати дані без необхідності відкривати кілька сторінок і займатися копіпастом. Ці інструменти дозволяють вручну або автоматично отримувати нові або оновлені дані і зберігати їх для подальшого використання. Наприклад, з допомогою інструментів веб-скрапинга можна отримувати інформацію про товарах і цінах з інтернет-магазинів.

Читати далі →

Як влаштований пошук і парсинг ченьджлогов в AllMyChanges

Хочете заглянути всередину і дізнатися, як влаштований AllMyChanges.com? Сьогодні я трохи розповім вам, як працює наш робот і чому йому вдається так добре знаходити інформацію про релізах.

Насправді, весь наш робот, це просто набір функцій.
Пошук і обробка ченьджлогов складається з декількох етапів:

  1. треба зрозуміти, яким чином отримувати дані з урлом;
  2. використовувати вибраний метод, щоб завантажити дані на диск;
  3. пройтися по скачаним файлів і витягувати з них шматки, які мають номер версії та опис;
  4. зрозуміти, які шматки реально є частиною ченьджлога, а які – просто сміття;
  5. скласти знайдене добро в базу.
Частини 1,2 і 5 цілком собі механічні і не вимагають від робота особливого інтелекту.

Отримання даних
попередній статті я згадував про те, що AllMyChanges підтримує кілька різних джерел даних. По-перше, він уміє викачувати з Git і Mercurial. По-друге — вміє завантажувати HTML сторінки, як з однієї, так і рекурсивно обходячи весь сайт. Ну і по-третє, наш робот може завантажувати деяку інформацію з App Store і Google Play.
Читати далі →