2 python beautifulsoup html-parsing
我想在下面的html中找到带有class ="s"或class ="sb"的td
<tr bgcolor="#e5e5f3"><td class="sb" width="200" align="left">test1</td><td class="sb" align="right">5,774.0</td><td class="sb" align="right">4,481.0</td><td class="sb" align="right">5,444.0</td><td class="sb" align="right">6,615.0</td><td class="sb" align="right">6,858.0</td></tr>
<tr bgcolor="#f0f0E7"><td class="s" width="200" align="left">test2</td><td class="s" align="right">5,774.0</td><td class="s" align="right">4,481.0</td><td class="s" align="right">5,444.0</td><td class="s" align="right">6,615.0</td><td class="s" align="right">6,858.0</td></tr>
Run Code Online (Sandbox Code Playgroud)
我现在正在使用以下代码.但只能让班级等于"S".是否可以在一个Beautiful Soup find_all查询中同时获得"s"和"sb"?
soup = BeautifulSoup(urllib2.urlopen(url).read(),"lxml");
for item in soup.find_all("td", { "class" : "s" }):
Run Code Online (Sandbox Code Playgroud)
你可以使用美丽汤对正则表达式的支持来做到这一点.
import re
soup = BeautifulSoup(urllib2.urlopen(url).read(),"lxml");
for item in soup.find_all("td", { "class" : re.compile(r"^(s|sb)$") })
Run Code Online (Sandbox Code Playgroud)
这个正则表达式匹配:
^ - 字符串的开头
(s|sb)- 字符串's'或字符串'sb'
$ - 字符串的结尾
| 归档时间: |
|
| 查看次数: |
4397 次 |
| 最近记录: |