我正在尝试使用来自网站的一些 html 使用 Beautiful Soup 解析几个 div block 。但是,我不知道应该使用哪个函数来选择这些 div block 。我尝试了以下方法:
import urllib2
from bs4 import BeautifulSoup
def getData():
html = urllib2.urlopen("http://www.racingpost.com/horses2/results/home.sd?r_date=2013-09-22", timeout=10).read().decode('UTF-8')
soup = BeautifulSoup(html)
print(soup.title)
print(soup.find_all('<div class="crBlock ">'))
getData()
我希望能够选择 <div class="crBlock ">
之间的所有内容及其正确的结尾</div>
. (显然还有其他 div 标签,但我想一直选择该 block ,直到代表这部分 html 结尾的那个 block 。)
最佳答案
正确的用法是:
soup.find_all('div', class_="crBlock ")
默认情况下,beautiful soup 会返回整个标签,包括内容。如果将其存储在变量中,则可以随心所欲地执行任何操作。如果您只查找一个 div,也可以使用 find()
代替。例如:
div = soup.find('div', class_="crBlock ")
print(div.find_all(text='foobar'))
查看 documentation page有关您可以使用的所有过滤器的更多信息。
关于python - 使用 BeautifulSoup 选择 HTML 中的 div block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011613/