data/

directory
v0.0.0-...-4231655 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2018 License: MIT

README

Импорт данных

Загружаем данные о книгах издательства МИФ из публичных источников.

Шаг 1. Импорт из Яндекс.Маркета

Директория: import

Команда: go run import.go

Что делает: загружает каталог МИФ для Яндекс.Маркета и парсит информацию из него в файлы import/categories.csv и import/books.csv с категориями и данными о продаваемых книгах.

В директории import также есть файл mif-catalog.xml, он нужен только для примера того, в каком формате отдаются данные из каталога.

Шаг 2. Поиск ссылок на сайте МИФ

Директория: link-list

Команда: go run parse.go

Что делает: запрашивает каталог на сайте МИФа в поисках ссылок на книги. Сохраняет в файле link-list/links.txt список найденных ссылок.

В директории link-list также есть файл links_white.txt, он содержит список ссылок на первые книги из "Белой серии" МИФа.

Шаг 3. Используем sitemap для поиска ссылок на книги

Директория: link-list

Команда: go run sitemap.go

Что делает: запрашивает sitemap/books.xml на сайте МИФа в поисках ссылок на книги. Сохраняет в файле link-list/links_sitemap.txt список найденных ссылок.

В директории link-list также есть файл links_white.txt, он содержит список ссылок на первые книги из "Белой серии" МИФа.

Шаг 4. Сохраняем категории

Директория: save

Команда: env DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=mysecretpassword DB=mifbooks go run categories.go

Что делает: берет из файла import/categories.csv категории и сохраняет их в БД. Если категория с таким ID уже существует, она будет обновлена в базе данных. Параметры доступа к БД задаются через переменные окружения.

Шаг 5. Сохраняем книги из маркета

Директория: save

Команда: env DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=mysecretpassword DB=mifbooks go run books.go

Что делает: берет из файла import/books.csv книги и сохраняет их в БД. Если книга с таким URL уже существует, она будет обновлена в базе данных. Параметры доступа к БД задаются через переменные окружения.

Шаг 6. Сохраняем URL'ы, которые насобирали

Директория: save

Команда: env DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=mysecretpassword DB=mifbooks go run urls.go

Что делает: берет из файлов link-list/links_white.txt, link-list/links_sitemap.txt, link-list/links.txt ссылки и сохраняет их в БД. Ссылка будет добавлена в таблицу books, но вставка произойдет только в том случае, если книги с такой ссылкой еще не существует. Параметры доступа к БД задаются через переменные окружения.

Шаг 7. Загружаем книги для собранных URL'ов

Директория: update

Команда: env DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=mysecretpassword DB=mifbooks go run books.go

Что делает: для всех книг из таблицы books, у которых не задан title (есть только URL книги), заходит на страницу книги и собирает с этой страницы основную (ID, название, автор, категория) и дополнительную (ISBN) информацию.

Шаг 8. Загружаем информацию о форматах книг

Директория: update

Команда: env DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=mysecretpassword DB=mifbooks go run volumes.go

Что делает: на основе файла link-list/links.txt сохраняет информацию о том, в каких форматах (бумага, электронный, аудио) представлена книга.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL