我正在尝试编写代码,以通过解析与站点上与用户相关联的单个URL来完成Edabit的挑战,从而获得大量XP。这就是我所拥有的:
from bs4 import BeautifulSoup
import requests
url = "https://edabit.com/user/xHRGAqa56TcXTLEMW"
req = requests.get(url)
soup = BeautifulSoup(req.content, 'html.parser')
div = soup.find(id="react-root")
print(div)
发现返回无值,但我真的不知道为什么。我认为该网站是由流星制成的,可能引起了问题?
非常感谢任何帮助。
答案 0 :(得分:1)
当网站上有动态内容,然后在浏览器中执行javascript时加载动态内容,就会发生这种情况。
您可以在浏览器中查看网页的页面源,以查看标签是否存在。
由于您的脚本不是浏览器,而只是一个从网站获取网页的程序,因此,脚本中未显示内容。
如果您希望在脚本中执行该javascript,则可以设置splash
服务器之类的东西。
另一种方法是检查javascript在浏览器中发出的网络请求以加载该内容(通常是API请求),然后进行相同的请求以直接从API获取内容,而不是从API抓取内容浏览器。
希望有帮助。
答案 1 :(得分:0)
没有任何输出表示汤。查找与您搜索的任何ID不匹配。再次正确检查html文件。可能有用。