php网页抓取标题(【每日一题】脚本标签内以json格式提供用户信息 )
优采云 发布时间: 2021-12-06 23:06php网页抓取标题(【每日一题】脚本标签内以json格式提供用户信息
)
播放器信息用JS动态加载。因此,您不能使用plain 来获取动态内容bs4。幸运的是,它们在脚本标签中以 json 格式提供用户信息。如果你打开页面的源代码并搜索它,json-user 你会看到一个标签:
{"avatar_url":"https:\/\/a.ppy.sh\/20488254?1622470835.jpeg","country_code":"AT","default_group":"default","id":20488254,...
您可以在此标签中获取 json 并获取有关播放器的任何信息。这是它的样子:
import json
import requests
from bs4 import BeautifulSoup
html_text = requests.get("https://osu.ppy.sh/users/20488254").text
soup = BeautifulSoup(html_text, "lxml")
json_data = json.loads(soup.find('script', {'id':'json-user'}).string)
现在假设您正在寻找玩家的全球排名。您需要做的就是找到正确的导航键:
player_rank = json_data['statistics']['global_rank']
# -> 199303