擅长:python、mysql、java
<p>正则表达式不是用来解析HTML的。HTML不是正则语言,不能用正则表达式很容易地进行解析。在</p>
<p>很多人喜欢<code>BeautifulSoup</code>,但是它很漂亮<a href="http://blog.dispatched.ch/2010/08/16/beautifulsoup-vs-lxml-performance/" rel="nofollow">slow</a>(<a href="http://blog.ianbicking.org/2008/03/30/python-html-parser-performance/" rel="nofollow">another source</a>),不如{<cd2>},后者甚至可以根据需要使用<code>BeautifulSoup</code>作为解析器。在</p>
<p>下面是一个使用<code>lxml</code>的解决方案。在</p>
<pre><code>>>> import lxml.html
>>> html = lxml.html.fromstring("""
... <tr class="classo">
... <td>text1</td>
... <td class="dot">text2 </td>
... <td>text3</td>
... <td class="dot"> text4</td>
... <td class="dot">text4</td>
... </tr>""")
>>> print [e.text for e in html.xpath("td")]
['text1', 'text2 ', 'text3', ' text4', 'text4']
</code></pre>