Python 对于特定类中的文本,没有调用find_all的结果

Python 对于特定类中的文本,没有调用find_all的结果,python,html,beautifulsoup,Python,Html,Beautifulsoup,我试图获取特定类的所有文本,但返回的是空列表: >>> soup.find_all(' dataRow odd') [] html: 我哪里做错了? 此外,理想情况下,代码会在不同的行中吐出所有单独的文本查询数据行奇数会产生周围的,其中包括,和等中的所有其他元素。您可以通过访问.text属性来获取文本,如下所示:,它只会给你一大块文本,而不是HTML: for d in duh: print d.text 相反,您可以分别获取该中的所有元素,并从每个元素中获取.te

我试图获取特定类的所有文本,但返回的是空列表:

>>> soup.find_all(' dataRow odd')
[]
html:

我哪里做错了?
此外,理想情况下,代码会在不同的行中吐出所有单独的文本

查询
数据行奇数
会产生周围的
,其中包括,
等中的所有其他元素。您可以通过访问
.text
属性来获取文本,如下所示:,它只会给你一大块文本,而不是HTML:

for d in duh:
    print d.text
相反,您可以分别获取该
中的所有
元素,并从每个元素中获取
.text

import requests, bs4, re

html = open('test.html')
soup = bs4.BeautifulSoup(html, "html.parser") # use html parser instead of XML
duh = soup.find_all('tr', {'class':' dataRow odd'}) # using ktb's suggestion from comments
for d in duh:
    tds = d.find_all()
    for td in tds:
        cleaned = td.text.strip().rstrip('\n') # remove newlines and spaces
        if cleaned != '':
            print cleaned

查询
dataRow-odd
会生成周围的
,其中包括,
等中的所有其他元素。您可以通过访问
.text
属性来获取文本。这样,它只会给您一大块文本,而不是HTML:

for d in duh:
    print d.text
相反,您可以分别获取该
中的所有
元素,并从每个元素中获取
.text

import requests, bs4, re

html = open('test.html')
soup = bs4.BeautifulSoup(html, "html.parser") # use html parser instead of XML
duh = soup.find_all('tr', {'class':' dataRow odd'}) # using ktb's suggestion from comments
for d in duh:
    tds = d.find_all()
    for td in tds:
        cleaned = td.text.strip().rstrip('\n') # remove newlines and spaces
        if cleaned != '':
            print cleaned

我相信您的
findAll()
的参数是错误的。您需要
findAll('tr',{“class”:'datarowodd'})
。就像问题一样。谢谢,问题是它现在吐出了整个代码。我正在尝试仅隔离文本并从文本中打印它Python没有
nil
。询问前请参阅和RTFM。bs4手册很简单Hi yeah已经阅读了手册,仍然需要帮助,谢谢。是的,我是说没有。它打印为[]我相信您的
findAll()
被赋予了错误的参数。您需要
findAll('tr',{“class”:'datarowodd'})
。就像问题一样。谢谢,问题是它现在吐出了整个代码。我正在尝试仅隔离文本并从文本中打印它Python没有
nil
。询问前请参阅和RTFM。bs4手册很简单Hi yeah已经阅读了手册,仍然需要帮助,谢谢。是的,我是说没有。它打印为[]