如何使用具有相似属性的beautifulsoup提取数据

时间:2019-09-20 01:13:00

标签: python beautifulsoup

我正在尝试抓取保存的html页面结果,并复制每个条目的条目并遍历文档。但是我不知道如何缩小元素的范围。我要获取的数据在以下每个“ tr”标签下面的“ td”标签中:

<tr bgcolor="#d7d7d7">
<td valign="top" nowrap="">
Submittal<br>20190919-5000
<!-- ParentAccession= -->
<br>
</td>
<td valign="top">
    09/18/2019<br>
    09/19/2019
</td>
<td valign="top" nowrap="">
    ER19-2760-000<br>ER19-2762-000<br>ER19-2763-000<br>ER19-2764-000<br>ER1    9-2765-000<br>ER19-2766-000<br>ER19-2768-000<br><br>
</td>
<td valign="top">
(doc-less) Motion to Intervene of Snohomish County Public Utility     District No. 1 under ER19-2760, et. al..<br>Availability: Public<br>
</td>
<td valign="top">
<classtype>Intervention /<br> Motion/Notice of     Intervention</classtype>
</td>
<td valign="top">
<table valign="top">


<input type="HIDDEN" name="ext" value="TXT"><tbody><tr><td     valign="top"> <input type="checkbox" name="subcheck"    value="V:14800341:12904817:15359058:TXT"></td><td>&nbsp;<a    href="../common/opennat.asp?fileID=15359058">Text</a></td><td>&nbsp;&  nbsp;&nbsp;&nbsp;0K</td></tr><input type="HIDDEN" name="ext" value="PDF"><tr><td valign="top"> <input type="checkbox"      name="subcheck" value="V:14800341:12904822:15359063:PDF"></td><td>&nbsp;<a href="../common/opennat.asp?fileID=15359063">FERC Generated PDF</a></td><td>&nbsp;&nbsp;&nbsp;&nbsp;11K</td></tr>

    </tbody></table>
</td>

下一个标签是:具有与上面相同的结构。它们交替显示,因此结果在结果页面上以不同的颜色显示。 我需要遍历所有后续的td标记并获取数据,但它们不会因类或我可以归零的任何东西而有所区别。我编写的代码捕获了td标签文本的全部内容并将其追加,但是我需要将每个td标签视为一个单独的项目,然后对下一个条目执行相同的操作,等等。

通过设置td [0]值,我从第一个td标签开始,但是我认为这不是正确的方法。

from bs4 import BeautifulSoup
import urllib
import re
soup = BeautifulSoup(open("/Users/Desktop/FERC/uploads/ferris_9-19-2019-9-19-2019.electric.submittal.html"), "html.parser")


data = []

for td in soup.findAll(bgcolor=["#d7d7d7", "White"]):
    values = [td[0].text.strip() for td in td.findAll('td')]
    data.append(values)
    print(data)

0 个答案:

没有答案