Python 从<;td>;用漂亮的汤做标签
我试图从美国证券交易委员会(sec)提交的其中一个表格中提取列标题(第25页下的“发行人购买权益证券”表格) 在列标题Python 从<;td>;用漂亮的汤做标签,python,html,python-3.x,beautifulsoup,Python,Html,Python 3.x,Beautifulsoup,我试图从美国证券交易委员会(sec)提交的其中一个表格中提取列标题(第25页下的“发行人购买权益证券”表格) 在列标题标记中的标记内,文本位于单独的标记中,如下例所示 <tr> <td> <div>string1</div> <div>string2</div> <div>string3</div> </td> </tr> 输出:[[(a)购买
标记中的
标记内,文本位于单独的
标记中,如下例所示
<tr>
<td>
<div>string1</div>
<div>string2</div>
<div>string3</div>
</td>
</tr>
输出:[[(a)购买的股份(或单位)总数,“(b)每股(或单位)支付的平均价格]]
预期产出:[[(a)购买的股份(或单位)总数,“(b)每股(或单位)支付的平均价格]]
(每个单词以空格分隔)
将
分隔符
参数与一起使用。get_text()
:
输出:
print(table_data)
[['(a) Total Number of Shares (or Units) Purchased', '', '(b) Average Price Paid per Share (or Unit)']]
@chitown88能否请您提供一个指向
get\u text()
文档的链接。搜索了很多相同的内容,但找不到。get_text(separator=u),strip=False,types=(,)
get所有子字符串,使用给定的分隔符连接。(这是我能找到的全部内容)
html = '''<tr>
<td>
<div>string1</div>
<div>string2</div>
<div>string3</div>
</td>
</tr>'''
import bs4
soup = bs4.BeautifulSoup(html, 'html.parser')
td = soup.find('td')
td.get_text(separator=' ')
from bs4 import BeautifulSoup
import requests
url = 'https://www.sec.gov/Archives/edgar/data/1551152/000155115218000014/abbv-20171231x10k.htm'
htmlpage = requests.get(url)
soup = BeautifulSoup(htmlpage.text, "lxml")
table = soup.find_all('table')[76]
rows = table.find_all('tr')
table_data = []
for tr in rows[2:3]:
row_data=[]
cells = tr.find_all(['td', 'th'], recursive=False)
for cell in cells[1:4]:
row_data.append(cell.get_text(separator=' ').encode('utf-8'))
table_data.append([x.decode('utf-8').strip() for x in row_data])
print(table_data)
print(table_data)
[['(a) Total Number of Shares (or Units) Purchased', '', '(b) Average Price Paid per Share (or Unit)']]