Python beautifulsoup 1级唯一文本

jas*_*son 1 python beautifulsoup

我看了另一个beautifulsoup得到同级别的问题.好像我的情况略有不同.

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

我正试图让右边的那张桌子.注意表的第一行如何扩展为该数据的详细分解.我不想要那些数据.我只想要最顶级的数据.您还可以看到其他行也可以展开,但在这种情况下不会.所以只是循环和跳过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.*')})
Run Code Online (Sandbox Code Playgroud)

list*在其他级别还有更多嵌套.如何只获得第一级?

Mar*_*ers 7

table通过将recursive参数设置为False ,将搜索限制为直接元素的子元素:

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