【发布时间】:2016-05-12 03:19:42
【问题描述】:
我正在尝试使用 Python、BeautifulSoup、Requests 以及 Selenium 从网页上的表格中抓取数据以登录该站点。 这是我要获取数据的表...
<div class="sastrupp-class">
<table>
<tbody>
<tr>
<td class="key">Thing I dont want 1</td>
<td class="value money">$1.23</td>
<td class="key">Thing I dont want 2</td>
<td class="value">99,999,999</td>
<td class="key">Target</td>
<td class="money value">$1.23</td>
<td class="key">Thing I dont want 3</td>
<td class="money value">$1.23</td>
<td class="key">Thing I dont want 4</td>
<td class="value percentage">1.23%</td>
<td class="key">Thing I dont want 5</td>
<td class="money value">$1.23</td>
</tr>
</tbody>
</table>
</div>
output = soup.find('td', {'class':'key'})
print(output)
但这不会返回任何东西。
重要提示:
表中的类名与我想要的类名相同。如果我不能将它们分开,我可以接受,尽管我宁愿只退回我想要的。 2.网站上还有其他
为class="sastrupp-class"。- 我显然是这方面的初学者,所以如果我能帮助您,请告诉我。 任何帮助/指针将不胜感激。
【问题讨论】:
-
它在我的电脑上运行良好,是实际代码吗?如果您尝试根据文本获取特定元素,您可以先“find_all”,然后按内容过滤其他元素。
-
itextpad.com/wFsEvS7eDb 这是我尝试过的
-
可能这部分表格是由javascript生成的,所以请求无法获取。将页面下载到 HTML 文件并在编辑器中打开以检查 HTML 标签。
-
@furas 我相信就是这样。查看页面源时看不到表格。当我检查元素时,我可以看到 cmets 说每个项目都来自一个名为 summary() 的函数。
-
所以现在检查页面使用的所有文件并找到
summary()。或者在 Chrome 中使用"Developer Tools"或在 Firefox 中使用"Firebug"来查看浏览器从服务器读取的所有数据 - 也许您会在不同的文件中找到您的数据。
标签: python selenium beautifulsoup