python - 使用 BeautifulSoup 选择 HTML 中的 div block

标签 python html python-2.7 beautifulsoup urllib2

我正在尝试使用来自网站的一些 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/

相关文章:

python - 比较两个长度的字符串的最快方法

python - 由于EnvironmentError无法安装 `discord.py`

python - httplib2在python中下载进度条

python - Python 3 中的 TabError

python - 如何测量标记分割图像的平均厚度

javascript - 动态图像加载谷歌浏览器

javascript - 在 html 页面上动态显示特定的 div

javascript - 为什么我的 token 输入在移动设备上中断?

python - 如何在python中顺序合并列表中的元素

Python:访问外部进程信息