2013-10-03 4 views
1

Я новичок в использовании scrapy и регулярных выражений, но после исследования они, похоже, являются моим лучшим решением для извлечения ссылок. Я пытаюсь следить за ссылками из моего стартового URL, которые содержат только конкретную аббревиатуру состояния, но проблема, с которой я сталкиваюсь, - это URL, содержащий аббревиатуру, неравномерную, у них разная длина, разные числа ведущих и завершающих символов и на всю жизнь не может определить правильное регулярное выражение, чтобы подать пробку, чтобы следовать ссылкам, которые я хочу. Любая помощь с этим будет принята с благодарностью.Scrapy следующие ссылки, которые соответствуют регулярному выражению

Извините за не давая каких-либо примеров ссылки выглядят как этот

/813rents-Inc_Tampa_FL__148254837 
/A-Amp-M-Realty_Riverview_FL_92361_037984837 
/A-Altieri_Tampa_FL_1257391_877954837 
+0

как мы будем помогите, если мы не знаем, как это выглядит. – Darka

+0

Итак, вы хотите следовать ссылкам, которые соответствуют 'FL' и заканчиваются цифрами, или какова их общая схема? – Birei

+0

Я стараюсь следовать всем ссылкам, которые соответствуют FL – lance0821

ответ

1

Вы можете унаследовать от CrawlSpider и использовать allow вариант из SgmlLinkExtractor, который принимает регулярное выражение:

rules = (
    Rule(SgmlLinkExtractor(allow=(r'_FL_'), follow=True), 
    Rule(SgmlLinkExtractor(allow=(r'...'), callback='parse_item'). 
) 

def parse_item(self, response): 
    ... 
+0

Большое вам спасибо, что кажется, работает. Поскольку я новичок как в регулярных выражениях, так и в Scrapy, правила отступов (и иногда дают мне вводящие в заблуждение ошибки). Я попробовал ваше предположение, предполагая, что я делаю что-то еще не так, и похоже, что он работает. – lance0821

Смежные вопросы