SMN*_*LLY 5 html python urllib2 beautifulsoup python-2.7
我试图使用来自网站的一些html使用Beautiful Soup解析几个div块.但是,我无法确定应该使用哪个函数来选择这些div块.我尝试过以下方法:
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()
Run Code Online (Sandbox Code Playgroud)
我希望能够选择<div class="crBlock ">
它之间的所有内容和它的正确结束</div>
.(显然还有其他div标签,但我想一直选择块到代表html这一部分末尾的那个.)
正确使用将是:
soup.find_all('div', class_="crBlock ")
Run Code Online (Sandbox Code Playgroud)
默认情况下,美丽的汤将返回整个标签,包括内容.如果将它存储在变量中,则可以随意执行任何操作.如果您只是寻找一个div,您也可以使用find()
.例如:
div = soup.find('div', class_="crBlock ")
print(div.find_all(text='foobar'))
Run Code Online (Sandbox Code Playgroud)
有关可以使用的所有过滤器的详细信息,请查看文档页面.