Python beautifulsoup 级别 1 仅文本

标签 python beautifulsoup

我看过其他 beautifulsoup 得到相同级别类型的问题。好像我的有点不同。

这是网站http://engine.data.cnzz.com/main.php?s=engine&uv=&st=2014-03-01&et=2014-03-31

我正在努力让那张 table 在右边。请注意表的第一行如何展开为该数据的详细分割。我不要那个数据。我只想要最顶级的数据。您还可以看到其他行也可以展开,但在本例中不是。所以只是循环和跳过 tr[2] 可能行不通。我试过这个:

r = requests.get(page)
r.encoding = 'gb2312'
soup = BeautifulSoup(r.text,'html.parser')
table=soup.find('div', class_='right1').findAll('tr', {"class" : re.compile('list.*')})

但是在其他层级还有更多的嵌套list*。如何只拿到第一关?

最佳答案

仅通过设置 recursive argument 将搜索限制为指向 table 元素的子元素错误:

table = soup.find('div', class_='right1').table
rows = table.find_all('tr', {"class" : re.compile('list.*')}, recursive=False)

关于Python beautifulsoup 级别 1 仅文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23270805/

相关文章:

python - gdal 2.1栅格化

python - 在 zc.buildout 中从私有(private) pypi 安装包

python - Django 数据层次结构问题

python - 如何为 python3 中循环创建的每一行添加一个静态值?

python - 使用 cx_Freeze 导入 matplotlib.pyplot 和 BeautifulSoup

python - 将整数系列转换为 Pandas 中的时间增量

java - python 导入在 java 中的 runExec 中失败

python - 从字典中删除 NoneTypes

Python 无法获取 html 标签之间的文本

python - BeautifulSoup 中不满足条件的标签可以返回吗?