Обновить
80
asdfasdfasdf@itforge

Пользователь

56
Подписчики
Отправить сообщение
Я в понятие топик включаю комменты. Значит, ты частично согласен с тем, что топик говно в моей системе определений. Комменты — это дети. А ты их родитель, так сказать. То что комментарии дурацкие, в первую очередь твоя заслуга :) Топик пропитан твоими эмоциями, вместо того, чтобы писать между строк, что джанго говно, лучше бы (для более продуктивного обсуждения) указал больше реальных примеров совмещения джанго орм и алхимии, случаи и байки из жизни, анекдоты, в общем, что-либо позитивное.
Говнотопик получился. Автор признался, что специально написал пост в правокационном стиле, а затем требует соблюдения этикета. И рыбку съесть и на… сесть? Так не бывает :) Люди чувствуют такие моменты.
sudo pip install feedparser
Техника парсинга rss это import feedparser; feedparser.parse(url) :)
from feedparser import parse
import shelve
import os

db = shelve.open(os.path.expanduser('~/.habra-notifier.cache'), 'c')
for entry in parse('http://habrahabr.ru/rss').entries:
    link = entry.link.encode('utf-8')
    if not link in db:
        db[link] = 1
        os.system('notify-send "%s"' % entry.title.encode('utf-8'))
Ну вот, дождались популяризации python. Теперь наслаждайтесь :)
Хм, так это ваш сайт получается, судя по нику в статье? Тогда я вообще не понял вашей реакции, я вам совет даю, а вы огрызаетесь.
Я ничего подобного не писал, умерьте пыл своей фантазии. Ещё раз повторюсь, мне кажется неправильным, что сайт не находится в топе по релевантным запросам. Можно спустить 20 тысяч на рекламу в СМИ, которая пройдёт и все забудут, а можно посидеть и бесплатно грамотно оптимизировать внутренний контент и структуру сайта и начать получать ежедневный дополнительный приток посетителей. Ну а потом пойти и спустить 20 тысяч на рекламу в СМИ.
Странно, что из 70 тысяч вы на SEO не потратились.
Вбиваю в яндекс «заречный доска объявлений» — не вижу вас вообще на первой странице. С запросом «объявления в заречном» та же ситуация. Возможно, для посетителей из региона Заречный выдача выглядит по другому.
600k запросов это 6 запросов в секунду или например 6 тредов параллельных по 1 запросу в секунду. Не вижу ничего необычного. Потянет или нет, зависит от вашего железа и настроек ОС. Вам есть смысл переходить на grab только если вам больше нравится его API, скорости он вряд ли вам прибавит. Чем больше одновременных соединений вам нужно, тем больше следует думать о том, чтобы перейти на асинхронную модель работы с сетью. Я лично с асинхронной нагрузкой практически не работал т.к. не было задач таких, поэтому в граби и отсутсвует интерфейс к multicurl.
Теперь basic auth доступен и через интерфейс Grab: bitbucket.org/lorien/grab/changeset/042fbe0f5797
Я написал впечатления, полученные эмпирическим путём. Я сам писал такую чушь, а потом мне в руки попадала такая чушь и это чуши очень много в интернетах каждый день пишется. Вообще, я считаю, что любой программист в первые годы становления себя как профессионала пишет преимущественно чушь. На php взращивается гораздо больше программеров, чем на питоне, отсюда и количество чуши на нём больше. А ещё я выражаю следующую мысль: лёгкость написания веб-интерфейса на php порой оказывает отрицательное воздействие на качество некоторых программ, в частности, парсеров и граберов, которые по природе своей процессы фоновые. Когда их пытаются оформить как часть веб-интерфейса, то получаются различного рода неприятности.
Вы правильно подметили. Спасибо. Поправил, пример. User-Agent меняется, конечно.
Простите, не понял ничего, что вы написали. Приведите явные примеры человечного интерфейса для задания POST-данных.
Grab и requests разные библиотеки для разных целей. Библиотека requests относится к первому и второму пунктам в вышеприведённом списке и частично к третьему пункту.
Очень просто. Я реально устал от причуд PHP и стал искать язык, куда бы свалить. Был выбор между ruby и python. А Perl я уже знал до этого и он мне не нравился. Я почитал про ruby и увидел в нём всякие фишки, напоминающие perl, меня это не сильно обрадовало и так я выбрал python. Его фича с выделением блока табулированием — я в неё влюбился сразу — это гениально :) Так что выбор был эмоциональным. По поводу рынка я никогда не парился. Python-программисты нужны, например, часто вакансию публикуются о django-вакансиях. В общем веб-кодинг востребован. Человек с реальными знаниями нигде не пропадёт. Даже в таких компаниях как яндекс, рамблер, mail.ru есть вакансии для python-разработчиков.
Немного разные акценты у библиотек — скрапи — это реально паук такой, бегает по сети, тянет в тыщу потоков информацию. А grab — это скорее швейцарский нож, вы его берёте и начинает вдумчиво колупать сайт. Асинхронной многопоточности в grab нет, всё что вы можете — это создать несколько tread-объектов и в каждом работать с grab. Но лучше только скачивать, у меня были проблемы с использованием lxml-модуля в нескольких потоках. Т.е. скачиваем в несколько потоков, парсим HTML в одном потоке. В curl есть некий multicurl, дающий эту самую асинхронность, но за несколько лет у меня так и не возникло острой надобности разобраться с ним. Это у меня в планах.
Процитирую сам себя:
Это библиотека для парсинга сайтов. Её основные функции:
1) Подготовка сетевого запроса (cookies, http-заголовки, POST/GET данные)
2) Запрос на сервер (возможно через HTTP/SOCKS прокси)
3) Получение ответа сервера и его первоначальная обработка (парсинг заголовков, парсинг cookies, определение кодировки документа, обработка редиректа (поддерживаются даже редирект в meta refresh тэге))
4) Работа с DOM-деревом ответа (если это HTML-документ)
5) Работа с формами (заполнение, автозаполнение)
6) Отладка: логирование процесса в консоль, сетевых запросов и ответов в файлы


BeautifulSoup — это только четвёртый пункт из представленного выше списка. Я давно отказался от BeautifulSoup — он тормозной, менее стабильный чем lxml и не поддерживает xpath и множества других вещей из модуля lxml.html, которые так скрашивают жизнь.
На самом деле, по-умолчанию он почти что ничего и не делает со страницей, функции преобразования в уникод и построения DOM-дерева включаютс только когда идёт обращение к методам, отвественным за работу с DOM-деревом. Первоначально grab разрабатывался как обёртка над curl, но затем я невольно наблюдал как акцент смещается на обработку полученной информации. И это круто — очень удобно :) Мне.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность