Про перенос списка книг с LiveLib на Goodreads.

Jun 15, 2016 08:00

На прошлой неделе я наконец-то закончила экспорт списка книг, которые я хочу прочитать из LiveLib в Goodreads. Я давно планировала завести аккаунт на Goodreads, но никак руки не доходили. В январе я в очередной раз увидела у кого-то на фейсбуке ссылку, и решила, что пора.
Причины, по которым я решила сосредоточиться на Goodreads, заслуживают отдельного поста (я хотела все включить в этот, но поняла, что слишком уж отхожу от темы). Одна из причин - отсутствие нормальной функции импорта/экспорта, которая на Goodreads есть и достаточно неплохо работает. В моем списке “Читаю/хочу прочитать” на LiveLib сохранено почти три сотни книг, поэтому ручной перенос был сразу исключен, благо с технической точки зрения автоматизировать процесс было довольно просто.
На LiveLib есть функция показать список в виде, готовом для печати, которая генерирует страничку со всеми книгами сразу, без необходимости переключаться между страницами. Я сохранила эту страницу и написала небольшой скрипт на Python, который выдирал id книги из разметки и составлял массив url для каждой книги в моем списке. Дальше мой скрипт делал GET реквест к каждому url из списка, и парсил полученный html на предмет isbn. В идеале я должна была получить файлик с тремя сотнями isbn, разделенными запятыми, которые можно было бы скормить Goodreads. В реале же я не учла того, что у LiveLib есть защита от DDoS атак. После первых 30 isbn я вполне справедливо получила страницу с капчой и поняла, что нужно отправлять свои запросы пореже. Само собой, мне пришлось искать способ делать мои запросы с другого ip адреса. Гуглопоиск показал, что Comcast очень редко меняет людям их внешние ip-адреса, а разбираться с vpn мне было лениво. Поэтому я пошла путем наименьшего сопротивления: включила hot spot на телефоне и начала искать оптимальный временной интервал для отправления запросов. Экспериментальным путем выяснилось, что при средней частоте запросов в 40 секунд, LiveLib перестает считать меня злодеем. В итоге я получила свои isbn и благополучно импортировала книги на Goodreads (кому интересно, мой профиль находится здесь).

книги, технологии

Previous post Next post
Up