作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 BeautifulSoup 有一个“问题”,尤其是 re 模块这是问题所在:
import re
from bs4 import BeautifulSoup
string = """
<div id="my_id">
<ul>
<li>something</li>
<li class="color12">something</li>
<li class="color45">something else</li>
</ul>
</div>
"""
soup = BeautifulSoup(string)
li = soup.find_all('li', {'class': re.compile('color(\d+)')} )
for ele in li:
print ele['class'] # will print colorXXXX but i would like to know how to get only this XXXX
但我只想提取颜色后的数字。是否有可能或者我有义务使用类似的东西:
match = re.search(r'color(\d+)', str(ele['class']))
if match:
print match.group(1)
谢谢你的帮助:)
最佳答案
您必须重新应用正则表达式。只需将其存储在变量中并重复使用:
colorpattern = re.compile(r'color(\d+)')
li = soup.find_all('li', {'class': colorpattern} )
for ele in li:
print colorpattern.search(ele['class']).group(1)
关于python - BeautifulSoup提取物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400774/
以下页面在 Windows 7 的 IE9 中不断崩溃: http://www.studyzone.tv/test1.html 经过大量测试后,事实证明 Bootstrap 3 CSS 文件中的 li
我是一名优秀的程序员,十分优秀!