对于beautifulsoup文件中的所有文件名,返回标记为空

Jkiefn1

我想解析一个大的.txt文件,并根据其父标签提取一些数据。问题是,例如,'class =“ ro”'包含数百个不同的文本和数字位,其中大多数没有用。

import requests
from bs4 import BeautifulSoup

data = requests.get('https://www.sec.gov/Archives/edgar/data/320193/0000320193-18-000070.txt')

# load the data
soup = BeautifulSoup(data.text, 'html.parser')

# get the data
for tr in soup.find_all('tr', {'class':['rou','ro','re','reu']}):
    db = [td.text.strip() for td in tr.find_all('td')]
    print(db)

就像我之前说过的那样,这样做可以获取所有这些标签,但是95%的回报都是无用的。我想使用for循环或类似的方式根据文件名进行过滤...“对于FILENAME = R2,R3等的所有文件” ...使用类“ ro”,“ rou”抓取所有标签,等等。到目前为止,我尝试过的所有操作都会返回空容器...有人可以帮忙吗?提前致谢!

<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
**<FILENAME>R2.htm** <------- for everything with this filename
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
.....removed for brevity
</head>
<body>
.....removed for brevity
<td class="text">&#160;<span></span> <------ return this tag
</td>
.....removed for brevity
</tr>

可以在此处完整找到两个样本文件:

https://www.sec.gov/Archives/edgar/data/1800/0001104659-18-065076.txt)(https://www.sec.gov/Archives/edgar/data/1084869/0001437749-18- 020205.txt

QHarr

不确定要如何输出,但是使用bs4 4.7.1可以使用:contains伪类来过滤文件名标签

import requests
from bs4 import BeautifulSoup

data = requests.get('https://www.sec.gov/Archives/edgar/data/320193/0000320193-18-000070.txt')
soup = BeautifulSoup(data.text, 'lxml')

filenames = ['R2.htm', 'R3.htm']

for filename in filenames:
    print('-----------------------------')
    i = 1
    for item in soup.select('filename:contains("' + filename + '")'):
        print(filename, ' ', 'result' + str(i))
        for tr in item.find_all('tr', {'class':['rou','ro','re','reu']}):
            db = [td.text.strip() for td in tr.find_all('td')]
            print(db)
        i+=1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自动复制所有文件,但文件名中带有特定字符的除外

当所有文件都没有类型时,在Ruby中更改文件名?

将目录中的所有文件名放入数组

放在目录中的所有文件名之前

读取目录中的所有文件名

Apple脚本-将特定文件夹中的所有文件和/或文件夹标记为隐藏

将特定文件夹中的所有类标记为过时

Powershell:对于每个文件夹,请附加所有文件名

Python获取列表中的所有文件名

代码从文件夹中的所有文件名中删除时间戳

从给定文件夹中的所有文件名中删除所有非法字符

如何从目录中删除具有特定文件名长度的所有文件?

copy():文件名不能为空-对于某些文件

批处理文件,用于获取文件夹中的所有文件名

删除文件夹中的所有文件,列表中的文件名除外

源树将所有文件标记为已修改

cmd-在文件夹中的所有文件中搜索字符串-找到时返回文件名

如何在终端中列出所有文件名?

SSHFS挂载将所有文件标记为隐藏

从所有文件名中删除撇号

如何从目录中的所有文件名中删除“ _”

Bash脚本从文件夹中的所有文件名中删除字符

如何列出系统中的所有文件名

Visual Studio将所有文件标记为已更改

将目录中所有文件的 MD5-hash 返回到具有文件名的 .txt 文件

从Android中的PHP文件中获取所有文件名

使用vim获取目录中的所有文件名

为什么 git 中的所有文件突然都被标记为已删除?

如何在 git 中显示文件的所有不同的历史文件名/文件路径?