Как я могу извлечь строку адреса электронной почты - PullRequest
0 голосов
/ 04 августа 2020

Мой python скрипт в настоящее время извлекает адрес электронной почты в виде списка, но мне нужно получить только текстовую часть. В этом примере это должно было быть golfshop@3lakesgolf.com.. Я пробовал использовать текстовый атрибут (gc_email.text), но это не сработало.

gc_email=web.select('a[href^=mailto]')
print(gc_email)

вывод:

[<a href="mailto:golfshop@3lakesgolf.com">golfshop@3lakesgolf.com</a>] 

Помогите! Как я могу извлечь только адрес mailto?

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Предполагая, что каждая строка соответствует указанному вами формату, вы можете использовать функцию '.split ()' для ряда символов, а затем выбрать соответствующие элементы из возвращенных списков.

line = '<a href="mailto:golfshop@3lakesgolf.com">golfshop@3lakesgolf.com</a>]'
sections1 = line.split(':')
email = sections1[1].split('.com')[0]+'.com'

Вывод

golfshop@3lakesgolf.com

Если форматирование меняется и не такое каждый раз, то я бы go использовал регулярные выражения.

0 голосов
/ 04 августа 2020

Вы можете использовать захват регулярного выражения для извлечения этой строки

import re

str = '<a href="mailto:golfshop@3lakesgolf.com">golfshop@3lakesgolf.com</a>'
regex = '<a href="mailto:(.*?)".*'

try:
    match = re.match(regex, str).group(1)
except:
    match = None
    x=1

if match is not None:
    print(match)
    

Вывод

golfshop@3lakesgolf.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...