2017-08-15 100 views
0

我需要获取以下屏幕截图中显示的文本2,585。我很新的编码,但这是我到目前为止:如何使用BeautifulSoup和Python获取表格/跨度后的文本?

import urllib2 
from bs4 import BeautifulSoup 

url= 'insertURL' 
r = requests.get(url) 
data = r.text 
soup = BeautifulSoup(data, 'html.parser') 
span = soup.find('span', id='d21475972e793-wk-Fact -8D34B98C76EF518C788A2177E5B18DB0') 
print (span.text) 

任何信息是有帮助的!谢谢。

Website HTML

回答

0

3样东西,你的使用要求不会的urllib2。您选择带名称空间的XML,因此您需要使用xml作为解析器。你想要的元素不是span它是ix:nonFraction。这是一个使用另一个网页的工作示例(您只需将它指向您的页面并使用注释行)。

# Using requests no need for urllib2. 
import requests 
from bs4 import BeautifulSoup 

# Using this page as an example. 
url= 'https://www.sec.gov/Archives/edgar/data/27904/000002790417000004/0000027904-17-000004.txt' 
r = requests.get(url) 
data = r.text 
# use xml as the parser. 
soup = BeautifulSoup(data, 'xml') 
ix = soup.find('ix:nonFraction', id="Fact-7365D69E1478B0A952B8159A2E39B9D8-wk-Fact-7365D69E1478B0A952B8159A2E39B9D8") 
# Your original code for your page. 
# ix = soup.find('ix:nonFraction', id='d21475972e793-wk-Fact-8D34B98C76EF518C788A2177E5B18DB0') 
print (ix.text) 
相关问题