【发布时间】:2017-04-19 05:31:25
【问题描述】:
我正在尝试将 Python 与 BeautifulSoup 一起使用,以便从网页中提取多个数字。我知道我做错了什么,因为我的脚本返回一个空数组。有多个跨度和类的事实也让我感到困惑。这是我正在使用的 HTML 数据的示例:
<td class="confluenceTd" colspan="1">
<span>
Autoworks
</span>
</td>
<td class="confluenceTd" colspan="1">
900009
</td>
<td class="confluenceTd" colspan="1">
<p>
uyi: 3456778, 33344778, 11199087
</p>
<p>
PRY: 54675389
</p>
</td>
<td class="confluenceTd" colspan="1">
AutoNone
</td>
<td class="confluenceTd" colspan="1">
9998887
</td>
<td class="confluenceTd" colspan="1">
<p>
YUN: 232323, 6788889, 78695554
</p>
<p>
IOY: 3444666, 2343233, 1232322
</p>
</td>
这是我的 Python 代码:
import requests
from bs4 import BeautifulSoup
s = requests.Session()
s.post('https://wiki.example.com/login', data={'user': "user1", 'password':
'pass1'})
r = s.get('https://wiki.example.com/example/section')
data_payload = r.content
soup = BeautifulSoup(data_payload, 'html.parser')
data = soup.findAll("span", {"class":"confluenceTd"})
print data
再次,我只是想提取实际数字。任何帮助将不胜感激。谢谢。
【问题讨论】:
-
在 HTML 代码中,您没有任何属于“confluenceTd”类的跨度。这就是你得到一个空列表的原因。为了以后的讨论,我建议您将代码缩小到最后三行,因为其他所有内容都与问题无关。我们希望您制作出最小可验证的示例。
标签: python python-2.7 beautifulsoup