我想在hackerearth页面上获得“问题解决”,
https://www.hackerearth.com/@babe
当我检查元素时,我得到
但是在查看源代码时,我找不到暗级700类。我认为内容是从Java脚本加载的。因此,当我使用python的bs4库时,它返回None元素。
我不想使用Selenium,因为它会打开一个新的浏览器窗口,但是我正在DJANGO平台中进行所有操作,因此我希望所有脚本都在后端进行处理而不会受到任何干扰,并且仅返回已解决的问题数量,即119。
最佳答案
幸运的是,数据是通过公开可用的api(此用户为/users/pagelets/babe/coding-data/
)加载的,因此您可以使用requests
和bs4
获取信息。
import requests
from bs4 import BeautifulSoup
user = 'babe'
url = 'https://www.hackerearth.com/users/pagelets/{}/coding-data/'.format(user)
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
problems_solved = soup.find(string='Problems Solved').find_next().text
print(problems_solved)
119
关于python - 如何剪贴受JavaScript保护的Hackerearth页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47598154/