所以我想从这个网址中删除'买入价'整数: https://rsbuddy.com/exchange?id=5502
但是当我查看源代码时,我无法达到这些价格。 BeautifulSoup也没有刮刀。这是BeautifulSoup的输出:
<div class="col-md-7" id="buy-price">
---
</div>
但是当我'使用chrome检查元素'时,我实际上我能够看到这个价格:
<div id="buy-price" class="col-md-7">29,990 gp</div>
为什么代码的那部分'隐藏'?是不是因为他们不希望别人从他们的网站上刮掉? 有办法解决这个问题吗?
提前致谢
编辑: 我通过使用Chrome工具跟踪javascript流量找到了答案。 显然即使api.rsbuddy.com没有给你任何东西,它确实使用了api: https://api.rsbuddy.com/grandExchange?a=guidePrice&i=5502
答案 0 :(得分:3)
如果页面的某些部分是通过JavaScript插入的,那么最好的方法是使用selenium和PhantomJS之类的内容作为驱动程序。
Python绑定非常容易使用,这将允许JavaScript在浏览器中执行,您可以从那里获取价格。
如果您需要更多信息,请告诉我,我很乐意为您提供帮助。
答案 1 :(得分:1)
价格可能是由JavaScript放在那里的。可能他们正在使用某种AJAX来获取价格。您必须调查他们的JavaScript才能获得所需的数据。
只是为了澄清,它不是&#34;隐藏&#34;本身,它只是不在HTML中。当你检查元素时,它会查看由HTML开始的文档以及JavaScript对它所做的任何更改。