如何使用Python获取实时公共交通时间?

如何使用Python获取实时公共交通时间?,python,python-3.x,web-scraping,beautifulsoup,python-requests,Python,Python 3.x,Web Scraping,Beautifulsoup,Python Requests,我试图获取时间/时间(出发时间)和目的地,但页面每60秒刷新一次,我无法获取该信息 这就是我迄今为止所尝试的: from bs4 import BeautifulSoup import requests from user_agent import generate_user_agent from requests import get headers = {'User-Agent': generate_user_agent(device_type="desktop", os=('mac',

我试图获取时间/时间(出发时间)和目的地,但页面每60秒刷新一次,我无法获取该信息

这就是我迄今为止所尝试的:

from bs4 import BeautifulSoup
import requests
from user_agent import generate_user_agent
from requests import get

headers = {'User-Agent': generate_user_agent(device_type="desktop", os=('mac', 'linux'))}
url = 'https://www.ptv.vic.gov.au/next5/diva/10004556/line/11613/2'
response = get(url)

html_soup = BeautifulSoup(response.text, 'html.parser')
type(html_soup)
datatest = html_soup.find_all('div', class_='timetable')
print(type(datatest))
print(len(datatest))

我想从网站上抓取至少3个即将到来的时间和目的地。

使用JSON请求每分钟更新一次实时数据。从JSON数据中提取此信息比从呈现的HTML中提取信息更容易。例如:

from datetime import datetime
import requests

r = requests.get("https://www.ptv.vic.gov.au/langsing/stop-services?stopId=10018306&direction=Altona&limit=20&mode=2")
json_reply = r.json()

for value in json_reply['values']:
    dt_departing = datetime.strptime(value['time_timetable_utc'], '%Y-%m-%dT%H:%M:%SZ')
    departing = dt_departing.strftime("%I:%M%p")   # 12hour format
    line_name = value['platform']['direction']['line']['line_name']
    print(f'{departing} - {line_name}')
将为您提供以下数据:

05:57PM-903-Altona-Mordialloc(智能巴士服务)
下午6:14-903-Altona-Mordialloc(智能巴士服务)
下午6:31-903-Altona-Mordialloc(智能巴士服务)
06:41 PM-903-Altona-Mordialloc(智能巴士服务)
06:57 PM-903-Altona-Mordialloc(智能巴士服务)
07:09PM-903-Altona-Mordialloc(智能巴士服务)
晚上7:20-903-Altona-Mordialloc(智能巴士服务)
晚上7:30-903-Altona-Mordialloc(智能巴士服务)
07:42 PM-903-Altona-Mordialloc(智能巴士服务)
晚上7:51-903-Altona-Mordialloc(智能巴士服务)
08:06 PM-903-Altona-Mordialloc(智能巴士服务)
08:20PM-903-Altona-Mordialloc(智能巴士服务)
晚上8:32-903-Altona-Mordialloc(智能巴士服务)
08:44 pm-903-Altona-Mordialloc(智能巴士服务)
08:59 pm-903-Altona-Mordialloc(智能巴士服务)
晚上9:14-903-Altona-Mordialloc(智能巴士服务)
09:30PM-903-Altona-Mordialloc(智能巴士服务)
晚上9:45-903-Altona-Mordialloc(智能巴士服务)
晚上10:00-903-Altona-Mordialloc(智能巴士服务)
晚上10:15-903-Altona-Mordialloc(智能巴士服务)
晚上10:36-706-Mordialloc-Aspendale-Edithvale-Chelsea
凌晨1:32-706-摩迪亚洛-阿斯彭代尔-伊迪斯瓦尔-切尔西
凌晨2:51-706-摩迪亚洛-阿斯彭代尔-伊迪斯瓦尔-切尔西
晚上10:36-706-Mordialloc-Aspendale-Edithvale-Chelsea
URL是通过观察浏览器每60秒发出的请求找到的。您可以通过更改来轻松调整时间,例如,使用
%A%I:%M%p获取一周中的某一天