我在python中导入了请求和Beautifulsoup4,并从Web服务中请求xml。 我就是这么做的:
import requests
from bs4 import BeautifulSoup as bs
session_request = requests.session()
response = session_requestion.post('',data='',headers='')
soup = bs(response.text,'lxml')
fruitresult = soup.find_all('getfruitbysql')
print(fruitresult)
然后,它显示:
[<getresultbysql>
<DataSet>
<Table>
<Fruit>Apple</Fruit>
<NumberOf>10</NumberOf>
<Price>12</Price>
</Table>
<Table>
<Fruit>Banana</Fruit>
<NumberOf>18</NumberOf>
<Price>10</Price>
</Table>
</DataSet>
</getresultbysql>]
如何将此结果转换为dataframe或.csv,如下所示:
--------------------------
| Fruit | Number | Price |
--------------------------
| Apple | 10 | 12 |
| Banana| 18 | 10 |
--------------------------
非常感谢
以下是整个xml响应:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<getresultbysqlResponse xmlns="http://tempuri.org/">
<getresultbysql>
<DataSet>
<Table>
<Fruit>Apple</Fruit>
<NumberOf>10</NumberOf>
<Price>12</Price>
</Table>
<Table>
<Fruit>Banana</Fruit>
<NumberOf>18</NumberOf>
<Price>10</Price>
</Table>
</DataSet>
</getresultbysql>
</getresultbysqlResponse>
</soap:Body>
</soap:Envelope>
假设已准备好
soup
对象,可以尝试使用lxml
提取数据:结果如下:
相关问题 更多 >
编程相关推荐