我正在尝试使用以下代码从我们的内部网页读取一些数据:
import requests
from requests_toolbelt.utils import dump
resp = requests.get('XXXXXXXXXXXXXXXX')
data = dump.dump_all(resp)
print(data.decode('utf-8'))
我得到的输出是以下格式:
<tr>
<td bgcolor="#FFFFFF"><font size=2><a
href=javascript:openwin(179)>Kevin</a></font></td>
<td bgcolor="#FFFFFF"><font size=2>45.50/week</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><font size=2><a
href=javascript:openwin(33)>Eliza</a></font></td>
<td bgcolor="#FFFFFF"><font size=2>220=00/week</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><font size=2><a href=javascript:openwin(97)>sam</a></font></td>
<td bgcolor="#FFFFFF"><font size=2>181=00</font></td>
</tr>
但是我对上面的输出感兴趣的数据是名称和值,例如:
Kevin 45.50/week
Eliza 220=00/week
Sam 181=00
是否有任何模块/方式可以将此输出格式化为所需格式并将其放入某个文件(最好是Excel)
from bs4 import BeautifulSoup as soup
content = """<tr>
<td bgcolor="#FFFFFF"><font size=2><a
href=javascript:openwin(179)>Kevin</a></font></td>
<td bgcolor="#FFFFFF"><font size=2>45.50/week</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><font size=2><a
href=javascript:openwin(33)>Eliza</a></font></td>
<td bgcolor="#FFFFFF"><font size=2>220=00/week</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><font size=2><a href=javascript:openwin(97)>sam</a></font></td>
<td bgcolor="#FFFFFF"><font size=2>181=00</font></td>
</tr>"""
html = soup(content, 'lxml')
trs = html.find_all('tr')
for row in trs:
tds = row.find_all('td')
for data in tds:
print data.text.strip(),
print '\n'
输出:
Kevin 45.50/week
Eliza 220=00/week
sam 181=00
首先找到所有<tr>
与标签find_all('tr')
,那么所有的<td>
内部变量与find_all('td')
的是,最后输出文本的内容td
与data.text
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句