我试图使用BeautifulSoup在类中获取文本,但该类有多个空格。转换为文本,我得到AttributeError: 'NoneType' object has no attribute 'text'
。这让我觉得我实际上并没有得到该课程的文字。
以下是我用来获取文字的行。 ticket_count = soup.find('div', class_ = 'ui black circular label ticket-count')
问题是类名中的空格吗?
答案 0 :(得分:0)
我猜你想知道什么时候有票。该网页使用JavaScript轮询Web套接字连接以查看故障单是否可用。 Web套接字返回JSON。您可以通过使用Python轮询Web套接字来模仿行为。以下代码每隔5秒轮询一次Web套接字,直到故障单可用,然后打印详细说明可用故障单的JSON对象。 (如果尚未安装websocket,则需要安装websocket。)
import json
from websocket import create_connection
import time
def run():
while 1:
time.sleep(5)
ws = create_connection("wss://mothership.splendourtickets.com/stream")
r = ws.recv()
ws.close()
for t in json.loads(r)['tickets']:
if not t['ticketCount'] == 0:
return (t)
if __name__ == "__main__":
ticket = run()
print (json.dumps(ticket, indent=4, sort_keys=True))
票证可用时的输出:
{
"id": "1",
"name": "Three Day Ticket",
"ticketCount": 1,
"ticketCountStr": "1",
"type": "eventTicket"
}