Ищите номера телефонов с нескольких сайтов. Таким образом, каждый сайт более чем вероятно имеет его в разных разделах/классах/форматах и т. Д.Найти номера телефонов
Мне сложно найти номера телефонов с использованием регулярных выражений или классов.
Таким образом, любая помощь приветствуется
мой код
def parse1(self, response):
hxs = Selector(response)
titles = hxs.xpath('/html/body')
items = []
for titles in titles:
item = GenericCrawlerItem()
item["phone"] = re.findall('/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-.)]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/gm', response.body)
item["phone"] = titles.xpath('//div[contains(text(), "tel")]/text()').extract()
items.append(item)
return items
Спасибо!
редактировать: форматы Я ищу будет в основном стандартный IM подозревавший, такие как:
(xxx)xxx-xxxx
xxx)xxx-xxxx
xxx.xxx.xxxx
xxx xxx xxxx
x(xxx)xxx-xxxx
x(xxx)xxx.xxxx
x.xxx.xxx.xxxx
+x(xxx)xxx-xxxx
+x.xxx.xxx.xxxx
Даже если они не заполнять каждый из них. пара была бы очень полезна!
Вы только сообщаете, что существуют разные форматы. Укажите форматы – rock321987
Спасибо за это! Обновленный вопрос –
Это Python, не нужно '/..../ gm', удалите эти косые черты и' gm'. Попробуйте 'r '(?: \ +? (\ D {1,3}))? ([-. (] * (\ D {3}) [-.)] *)? ((\ D {3}) [-.] * (\ d {2,4}) (?: [-. x] * (\ d +))?) '' –