数据抓取工具:div标签的内容为空(??)

时间:2019-06-21 19:15:01

标签: python html python-3.x web-scraping beautifulsoup

我正在抓取网站数据以获取电话号码。该数字每隔一秒钟就会动态变化,但是在检查时会显示该数字。我只需要捕获该数字,但包含该数字的div包装器就不会返回任何值。我想念什么? (请放心,因为我是Python和数据抓取的新手。)

我有一些代码可以正常工作,并返回应该包含我想要的数据的html片段,但没有乐趣,div包装器没有返回值。

import requests
from bs4 import BeautifulSoup


r = requests.get('https://deuda-publica-espana.com')

deuda = BeautifulSoup(r.text, 'html.parser')
deuda = deuda.findAll('div', {'id': 'contador_PDEH'})

print(deuda)

我没有收到任何错误,我只是得到[<div class="contador_xl contador_verde" id="contador_PDEH"></div>],没有任何价值!

1 个答案:

答案 0 :(得分:1)

实际上,硒很容易。我怀疑有一个js脚本正在运行一个提供数字的计数器,这就是为什么您无法在您的方法中找到它的原因(如评论中所述)

from selenium import webdriver

d = webdriver.Chrome(r'C:\Users\User\Documents\chromedriver.exe')
d.get('https://deuda-publica-espana.com/')
print(d.find_element_by_id('contador_PDEH').text)
d.quit()