Не так давно тоже писал свой велосипед, но для Kindle. Скрипт умеет:
1. Вытягивать лучшие статейки по хабам. (используя бд из моего предыдущего поста)
2. Парсить избранное
3. Просто стянуть рандомную статью.
Для корректной работы, нужно скачать kindlen и указать у нему путь в habr_to_kindle.py.
Действительно, в моих таблицах нету статей ни про цикад, ни про «приватный монитор». Спасибо, что заметили.
Решение проблемы
Посты парсятся по классу «posts shortcuts_items», но это не единственный возможный вариант представления поста на странице. Оказывается есть ещё и «post translation shortcuts_item», и, быть может, другие.
Но это решается очень просто — убираем конкретику из xpath-запроса, и всё парсится как надо:
for elem in grab.doc.select('//div[@class="posts shortcuts_items"]/div'):
post_url = elem.node.find('h1[@class="title"]/a').get('href')
...
Вот так бывает, хотел перестраховаться, a упустил целый класс статей!
Ну и, соответственно, отсюда неясно, зачем потом эти 6гб двое суток распарсивать)
Тут напрашивается использование БД, которую, кстати, в последствии мог бы подёргать каждый желающий.
А исследование хорошее. Ещё раз убедился в том, что отечественный рынок «играет» в маркетинг.
1. Вытягивать лучшие статейки по хабам. (используя бд из моего предыдущего поста)
2. Парсить избранное
3. Просто стянуть рандомную статью.
Для корректной работы, нужно скачать kindlen и указать у нему путь в habr_to_kindle.py.
комментарии
Но это решается очень просто — убираем конкретику из xpath-запроса, и всё парсится как надо:
Вот так бывает, хотел перестраховаться, a упустил целый класс статей!
А пост про провода в топе DIY.
Добавлю коммерцию, чулан, node js и еще несколько хабов, которые не попали изначально.