我想在hackerearth页面中解决问题,例如, https://www.hackerearth.com/@babe
当我检查元素时,我得到了
但是在查看源代码时,我找不到类的重量级700.我认为内容是从java脚本加载的。因此,当我使用python的bs4库时,它会返回None Element。
我不想使用selenium,因为它会打开一个新的浏览器窗口,但我在DJANGO平台上做所有这些,所以我希望所有的脚本在后端处理而不会中断,只返回解决的问题数量,也就是说,119。
答案 0 :(得分:1)
幸运的是,数据是通过公开的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