从Web爬网输出中解析出特定文本

时间:2012-08-16 16:23:42

标签: python html web-scraping beautifulsoup

我需要解析出HTML页面的这一部分并输出到CSV文件,然后让它等待下一个输出。对于正则表达式,我感到很茫然。

<h1>Member Information</h1>


<h2>Company Name</h2>
<p>Address<br />
More Address<br />
City<br />
State<br />
Postal code<br />
</p>
<p><strong>Contact:</strong> Firstname Lastname, PH.D., P.ENG. - <a href="mailto:email@email.com">email@email.com</a><br /></p>
<a href="http://www.domain.com">www.domain.com</a><br />
<p><strong>Phone:</strong> (555)555-5555<br /></p>

</div><!-- end #content -->

我可以不使用地址信息,但公司名称,ID (来自网址),名/姓> (如果可能,还有标题),电子邮件,URL和电话号码将非常有价值。谢谢!

1 个答案:

答案 0 :(得分:3)

永远不要使用正则表达式来解析HTML(或XML,Json,CSV ...)。

使用BeautifulSoup代替,这是一个为此类任务编写的优秀库。

示例:

from bs4 import BeautifulSoup as BS
soup = BS(htmltext)
soup.h2.text
>>> 'Company Name'