Pull to refresh
17
0
Шкрылев Николай @snnwolf

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

Send message
У Scrapy есть преимущество в том, что он обладает высокой поизводительностью (может качать десятки документов одновременно) и кучей готовых вспомогательных модулей, например для защиты от повторной загрузки уже загруженных страниц и зацикливания, поддержка Cookies и пр.
Есть модули для создания к нему веб-интерфейса. Есть встроенная telnet консоль (т.е. можно подключиться к запущенному и работающему пауку по telnet и выполнять внутри него любые команды Python прям во время работы). Но при этом нужно иметь в виду, что он работает асинхронно и для сохранения собранных данных в БД уже нужно изворачиваться.
Чтобы сохранить данные не в файл а в GoogleDocs тоже придется дополнительно потрудиться…
Вызвать Scrapy из кода можно, но эта возможность по-моему не документирована. Я как-то так его стартовал:
""" run as `python this_file.py <spider_name> <start_url>` """
import os
os.environ.setdefault('SCRAPY_SETTINGS_MODULE', 'forums.settings')

import sys
from scrapy.core.queue import ExecutionQueue
from scrapy.core.manager import scrapymanager
from scrapy.spider import spiders
import scrapy_syslog_log as syslog_log

def main():
    syslog_log.patch()
    scrapymanager.configure(control_reactor=True)
    q=ExecutionQueue()
    spider_name, url=get_spider_and_url()
    spider=spiders.create(spider_name)
    q.append_url(spider.getFetchUrl(url), spider)
    scrapymanager.queue=q
    scrapymanager.start()#this is blocking call
    sys.stdout.write('OK')
    sys.exit(0)


def get_spider_and_url():
    if len(sys.argv)<3:
        sys.stdout.write('ERR')
        sys.exit('NOT ALL ARGS')

    return sys.argv[1:]

if __name__=='__main__':
    main()
Чтоб этот кусок кода написать, пришлось «погрузиться в Srapy по самые гланды».

Для GoogleDocs попробуйте официальную библиотеку от Google code.google.com/p/gdata-python-client/.
Вот примеры: code.google.com/p/gdata-python-client/source/browse/samples/docs/docs_example.py code.google.com/p/gdata-python-client/source/browse/samples/docs/resumable_upload_sample.py
Но со Scrapy ее будет не очень легко интегрировать. Разве что пул потоков организовать т.к. Scrapy неблокирующий а библиотека блокирующая.
Поскольку вы так давно и тщательно занимаетесь этой темой, советую вам посмотреть (если ещё не смотрели) все ролики Дмитрия Сатина (генеральный директор Usability Lab), он много чего полезного говорит про юзабилити и интернет-магазины в частности.
«Если у вас нет паранойи, это не значит, что за вами не следят» (С) не помню
Я например своим All-Inkl.com доволен. Суппорт по телефону 24/6, по Мейлу ответ приходит через максимум час. Всякие тех. работы проводят исключительно ночью. За пакет стоимостью 7,95 Евро получаю: 3 Домена бесплатно, 10ГБ места, неограниченый Траффик, 250 Субдоменов (если нехватает, беслпатно увеличивают до 1000 по запросу), SSL-Proxy, PHP/MySQL/Perl/CronJobs/POP3/IMAP.

Мы сидим на Slicehost, просто замечательный VDS.
Сам использую http://dreamhost.com/ больше года.
Вот тариф

— Дисковое пространство: 500 GB было теперь UNLIMITED!
— Трафик в месяц: >5.0 TB было теперь UNLIMITED!
— MySQL: UNLIMITED

Все есть и все UNLIMITED

Короче не буду всю информацию писать, лучше сами посмотрите -> http://dreamhost.com/hosting.html

Плачу сразу на год, тогда получаеться 9,95 $ в месяц.
Если заплатить сразу на десять лет 5.95 $ в месяц приходиться.

Еще использую ht-systems.ru 3 года.
За что его уважаю, в основном за суппорт и стабильность! Напишешь проблему и через 5 минут ответ получай с решением :)
Только там дороже получаеться…
Следует добавить, что на популярных почтовых ресурсах адреса подбираются еще и тупым перебором по словарям, можно адрес вообще нигде не светить, а спам все равно приходить начнет.

Собственно поэтому адреса e-mail и не шифрую, без толку. А вот адреса spamtrap'ов на страницах, хоть чуть-чуть, но помогают.
Адреса-ловушки.

Некоторые почтовые системы, к примеру Communigate Pro, предоставляют такую возможность. Если письмо приходит на такой адрес-ловушку, то оно не доходит и другим адресатам в системе и хост отправителя заносится в черный список на определенное время. Ну и SpamAssassin такими письмами хорошо в автоматическом режиме учить.
А можно поподробнее про «адреса spamtrap'ов на страницах»? Это что такое?
function decodeencode (email_, codestring){
    var d='';
    var email = (email_.indexOf('@')==-1)? decodeURI(email_): email_;
    for(var i=0; i < email.length; i++){
        d += String.fromCharCode(email.charCodeAt(i) ^
        codestring.charCodeAt(i % codestring.length));
    }
    return (email_.indexOf('@')==-1)? d:encodeURI(d);
}
var codestring='anytext';
var email='email@example.com';
document.writeln(email);
document.writeln('<br>');
var crypt=decodeencode(email, codestring);
document.writeln(crypt);
document.writeln('<br>');
document.writeln(decodeencode(crypt, codestring));
document.writeln('<br>');

UFO landed and left these words here
Всем привет! Вот также отличный англоязычный ресурс: www.pdfchm.com/
Всегда в наличии много последних новинок.
а еще есть knowfree.net/ проект, очень похожий по сути на netbks.com
Проект Гутенберг: www.gutenberg.org/

Там много книг и аудиокниг на английском и друхих языках. Но только свободные от копирайта произведения (более 50-70 лет со смерти автора).

Если учесть, что из-за наездов правообладателей и новых платных интернет-библиотек с Либ. ру многое пришлось и придётся удалить, видимо, библиотека Мошкова тоже пойдёт тем же путём, собирая свободные от копирайта тексты.
avaxhome.ws/magazines/computers
avaxhome.ws/magazines/economics_business_finances
Это для примера, а вообще на avaxhome.ws/ — десятки книг и журналов ежедневно со всего мира.
P.S. А вообще Хабр уже не тот :-) Раньше увидеть на главной топик про варезный сайт :-)
спасибо всем за ссылки
добавлю русский ресурс на аналогичную тему — www.infanata.org/

Information

Rating
Does not participate
Location
Ставрополь, Ставропольский край, Россия
Date of birth
Registered
Activity