我正在尝试使用漂亮的汤4:https://www.orbitxch.com/customer/sport/1
在此页面上获得事件的名称。我尝试使用class =“ biab_item-link biab_market-link js-event-link biab_has-time”过滤标记的html代码,好像它是一次包含每个唯一事件名称的标记。
这是我的代码
from bs4 import BeautifulSoup
import urllib3
http = urllib3.PoolManager()
url = 'https://www.orbitxch.com/customer/sport/1'
response = http.request('GET', url)
soup = BeautifulSoup(response.data, features="lxml")
for tag in soup.find_all("a", class_="biab_item-link biab_market-link js-event-link biab_has-time"):
print(tag["title"])
但是什么也没发生。
答案 0 :(得分:0)
那是因为html内容是由javascript动态更改的。数据来自以下URL:https://www.orbitxch.com/customer/api/event-updates?eventIds=29108154,29106937,29096310,29096315,29106936,29096313,29096309,29096306,29107821,29108318,29106488,29106934,29106830,29106490,29104420,但老实说,我不知道您在哪里可以找到这些ID。该URL返回JSON响应,您可以使用Python库轻松解析该响应。