Python 限制脉冲组输出
我已经半成功地与BeautifulSoup和Selenium合作了几个星期。然而,我发现自己处于一种无法摆脱的境地 我需要从表的前6行左右提取html。这些行不共享任何类、id或类似内容 表结构:Python 限制脉冲组输出,python,html,beautifulsoup,Python,Html,Beautifulsoup,我已经半成功地与BeautifulSoup和Selenium合作了几个星期。然而,我发现自己处于一种无法摆脱的境地 我需要从表的前6行左右提取html。这些行不共享任何类、id或类似内容 表结构: <table class="Table"> <tr class="Table_Header"> <td colspan="2">Some Text</td> </tr> <tr>
<table class="Table">
<tr class="Table_Header">
<td colspan="2">Some Text</td>
</tr>
<tr>
<td class="Class2">Some Text</td>
<td><span class="Class"></span>Some Text</td>
</tr>
<tr>
<td class="Class2">Some Text</td>
<td>Some Text</td>
</tr>
<tr>
<td class="Class2">Some Text</td>
<td>Some Text</td>
</tr>
<tr class="Class3">
<td class="Class2"> Some Text </td>
<td>Some Text</td>
</tr>
<tr class="Class3">
<td class="Class2">Some Text</td>
<td>Some Text</td>
</tr>
<tr>
<td class="Class2">Some Text</td>
<td> <div class="Class4">Some Text</div>
<div class="Class4">Some Text</div>
</td>
</tr>
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
一些文本
这个表一直在继续,保持着这种结构,但似乎随机的类不断出现
基本上,我需要返回前六个tr。我尝试了几种方法,要么返回整个表,要么返回一个tr
有什么想法吗
提前谢谢 那么你想从一张桌子上得到第一个6 tr?如果我理解正确的话,我会遇到一个类似的问题,我需要获得第一个400 td。也许下面的代码会有所帮助 也许像
for row in get_log().findAll('tr'):
for cell in row.findAll('td'):
print (cell.text)
logfile.write('{}\n'.format(cell.text))
i += 1
if i == 400:
break
另外,让我指出我用来解决我自己问题的那篇文章,好东西已经接近尾声了,因为它假设你什么都不知道。
编辑:
使用布恩县的表格作为来源:
import requests
from BeautifulSoup import BeautifulSoup
url = 'http://www.showmeboone.com/sheriff/JailResidents/JailResidents.asp'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
table = soup.find('table', attrs={'class': 'collapse shadow BCSDTable'})
i = 0
for row in table.findAll('tr'):
print (row.prettify())
i += 1
print i
if i == 6:
break
这会输出大量信息,所以我不会发布。也许您想从每个tr中提炼您想要的内容?谢谢!是的,从表中获取第一个6 tr正是我所需要的。出于某种原因,这似乎占据了整个桌子。。。我显然做错了什么。我会查这篇文章的,谢谢!我做了一些与你的问题相似的事情,但是在布恩县的桌子上。要考虑的是,你是真的做了错事,还是你只是输出了每一篇文章中的每一篇文章,你发的文章都强调了我做错了什么。结合你的答案,我得到了我想要的结果。我的问题:我有什么:
table=soup('table',attrs={'class':'resultsTable'})
我需要什么:table=soup.find('table',attrs={'class':'resultsTable'})