Я впервые использую BeautifulSoup и пытаюсь собрать несколько данных, таких как электронная почта, номер телефона и почтовый адрес, из супового объекта.
Используя регулярные выражения, я могу определить адрес электронной почты. Мой код для поиска электронной почты:
def get_email(link):
mail_list = []
for i in link:
a = str(i)
email_pattern = re.compile("<a\s+href=\"mailto:([a-zA-Z0-9._@]*)\">", re.IGNORECASE)
ik = re.findall(email_pattern, a)
if (len(ik) == 1):
mail_list.append(i)
else:
pass
s_email = str(mail_list[0]).split('<a href="')
t_email = str(s_email[1]).split('">')
print t_email[0]
Теперь мне также нужно собрать номер телефона, почтовый адрес и веб-адрес. Я думаю, что в BeautifulSoup должен быть простой способ найти эти конкретные данные.
Пример HTML-страницы приведен ниже:
<ul>
<li>
<span>Email:</span>
<a href="mailto:abc@gmail.com">Message Us</a>
</li>
<li>
<span>Website:</span>
<a target="_blank" href="http://www.abcl.com">Visit Our Website</a>
</li>
<li>
<span>Phone:</span>
(123)456-789
</li>
</ul>
И, используя BeatifulSoup, я пытаюсь собрать значения диапазона электронной почты, веб-сайта и телефона.
Заранее спасибо.