【发布时间】:2021-04-26 19:54:45
【问题描述】:
使用python的requests库如何获取data-d1-value的值?
request.get(URL) 函数本身并没有给出原始网页中存在的 div 中的 data-* 属性。
网页如下:
<div id="test1" class="class1" data-d1-value="150">
180
</div>
我使用的代码是:
req = request.get(url)
soup = BeautifulSoup(req.text, 'lxml')
d1_value = soup.find('div', {'class':"class1"})
print(d1_value)
我得到的结果是:
<div id="test1" class="class1">
180
</div>
当我调试这个时,我发现 request.get(URL) 没有返回完整的 div 而是只返回 id 和 class 而不是 data-* 属性。
我应该如何修改以获得完整的价值?
更好的例子: 就我而言,网址是: https://www.moneycontrol.com/india/stockpricequote/oil-drillingexploration/oilnaturalgascorporation/ONG
以及变量的信息: DIV CLASS 是:class="inprice1 nsecp" 和 data-numberanimate-value 的值是我要获取的值
提前致谢:)
【问题讨论】:
-
感谢您添加信息,但是请求的 url 或响应是什么?以防万一请阅读:How to create a Minimal, Reproducible Example 谢谢
-
因此,如果响应中没有数据属性,则可能是网站提供动态内容,请求无法获取。要检查这一点,请提供您请求的网址。
-
谢谢,我会阅读您刚刚分享的链接:对于我来说,链接是:moneycontrol.com/india/stockpricequote/oil-drillingexploration/… 我想要获得的值是:DIV CLASS 是:class="inprice1 nsecp"和 data-numberanimate-value 的值是我要获取的值
-
感谢您将外观改进得更好更详细,看看我的编辑,基于此新信息。
标签: python web-scraping python-requests html-parsing hidden