Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 限制脉冲组输出_Python_Html_Beautifulsoup - Fatal编程技术网

Python 限制脉冲组输出

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>

我已经半成功地与BeautifulSoup和Selenium合作了几个星期。然而,我发现自己处于一种无法摆脱的境地

我需要从表的前6行左右提取html。这些行不共享任何类、id或类似内容

表结构:

  <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'})