Skip to main content
 首页 » 编程设计

python之BeautifulSoup + URLLib2 没有从目标中提取所有 XML

2025年05月04日7lexus

这是我的代码:

import urllib2 
from bs4 import BeautifulSoup 
 
url = "http://www.sec.gov/Archives/edgar/data/1288776/000119312512312575/goog-20120630.xml" 
 
req = urllib2.Request(url, "r") 
response = urllib2.urlopen(req) 
xml = response.read() 
 
soup = BeautifulSoup(xml, features="xml") 
print soup.prettify() 

输出仅显示来自目标的前几行 XML:

>>>  
<?xml version="1.0" encoding="utf-8"?> 
<!-- EDGAR Online I-Metrix Xcelerate Instance Document, based on XBRL 2.1  http://www.edgar-online.com/ --> 
<!-- Version:  6.17.6 --> 
<!-- Round: 8321e8af-cc4a-498e-a38d-da694ed77a41 --> 
<!-- Creation date: 2012-07-24T16:17:46Z --> 
<xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:country="http://xbr" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> 

关于如何提取所有 XML 的任何想法?

请您参考如下方法:

你试过用开瓶器吗?

import urllib2 
from BeautifulSoup import BeautifulSoup 
 
url = "http://www.sec.gov/Archives/edgar/data/1288776/000119312512312575/goog-20120630.xml" 
 
opener = urllib2.build_opener() 
opener.addheaders = [('User-agent', 'Mozilla/5.0')]   
resource = opener.open(url) 
data = resource.read() 
resource.close() 
soup = BeautifulSoup(data) 
print soup.prettify() 

上面的代码对我有用。