我第一次使用BeautifulSoup並嘗試從湯對象中收集多個數據,例如電子郵件,電話號碼和郵寄地址。如何使用python獲取跨度值,BeautifulSoup
使用正則表達式,我可以識別電子郵件地址。我的代碼找到電子郵件是:
def get_email(link):
mail_list = []
for i in link:
a = str(i)
email_pattern = re.compile("<a\s+href=\"mailto:([[email protected]]*)\">", 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:[email protected]">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,我試圖收集電子郵件,網站和電話的跨度值。
在此先感謝。
這是一個良好的開端教程http://www.crummy.com/software/BeautifulSoup/documentation.html#Quick%20Start – demas 2011-04-23 07:51:02
@demas只是解決了讓所有的UL標籤的問題,然後再提取所需的UL只,其工作正常,感謝您的鏈接:) – mushfiq 2011-04-23 08:03:36
請閱讀BeautifulSoup文檔。不知道爲什麼我們應該爲您重複現有和詳細的文檔。如果您有Beautifulsoup的*特定*問題,請回來。 – 2011-04-23 08:37:00