одним из недостатков Scrapy является, конечно, сложность и неочевидность обработки URLов прописываемыми правилами.
Сами правила, несмотря на то, что должны быть "регулярными выражениями", в версии 1.0.5 нормально работают и без экранирующих символов (вроде http:\/\/google\.com). Однако примерно так же они вообще не работают.
Т.е. в логе Scrapy спокойно и неоднократно (1-10 раз еще можно было бы отнести на асинхронность) ходит по URL ам, прописанным в deny
При этом неособо спешит идти по allow
Особенно раздражают переходы на домены, отсутствующие в allowed_domains
справиться с этим поможет Scrapy Debugger
тем не менее, Scrapy остается мощным инструментом, если его грамотно готовить
готовка заключается в следующем:
scrapy примеряет текущий URL ко всему списку правил в каждом Rule, и срабатывает по первому найденному
из этого следует, что rules должно быть максимум три:
1) ссылки, по которым идти дальше
2) ссылки, из которых извлекать информацию
3) ссылки, по которым ходить бессмысленно
просто? безусловно.
однако здесь подстерегает известное правило регулярных выражений:
должно срабатывать там, где нужно, и не должно, там где не нужно.
несоблюдение данного может хорошооо попить вам крови.
Сами правила, несмотря на то, что должны быть "регулярными выражениями", в версии 1.0.5 нормально работают и без экранирующих символов (вроде http:\/\/google\.com). Однако примерно так же они вообще не работают.
Т.е. в логе Scrapy спокойно и неоднократно (1-10 раз еще можно было бы отнести на асинхронность) ходит по URL ам, прописанным в deny
При этом неособо спешит идти по allow
Особенно раздражают переходы на домены, отсутствующие в allowed_domains
справиться с этим поможет Scrapy Debugger
тем не менее, Scrapy остается мощным инструментом, если его грамотно готовить
готовка заключается в следующем:
scrapy примеряет текущий URL ко всему списку правил в каждом Rule, и срабатывает по первому найденному
из этого следует, что rules должно быть максимум три:
1) ссылки, по которым идти дальше
2) ссылки, из которых извлекать информацию
3) ссылки, по которым ходить бессмысленно
просто? безусловно.
однако здесь подстерегает известное правило регулярных выражений:
должно срабатывать там, где нужно, и не должно, там где не нужно.
несоблюдение данного может хорошооо попить вам крови.
Комментарии
Отправить комментарий