Chicago Transit Authority bustrackerのWeb サイトから情報を取得しようとしています。特に、上位 2 つのバスの到着 ETA をすばやく出力したいと考えています。これは Splinter を使えばかなり簡単に行うことができます。ただし、このスクリプトをヘッドレス Raspberry Pi モデル B と Splinter と pyvirtualdisplay で実行すると、かなりのオーバーヘッドが発生します。
の線に沿った何か
from bs4 import BeautifulSoup
import requests
url = 'http://www.ctabustracker.com/bustime/eta/eta.jsp?id=15475'
r = requests.get(url)
s = BeautifulSoup(r.text,'html.parser')
トリックはしません。すべてのデータ フィールドは空です (まあ、 があります)。たとえば、ページが次のようになっている場合:
このコード スニペットs.find(id='time1').text
はu'\xa0'
、Splinter で同様の検索を実行すると、「12 MINUTES」の代わりに表示されます。
私は BeautifulSoup/requests に執着していません。Splinter/pyvirtualdisplay のオーバーヘッドを必要としないものが欲しいだけです。プロジェクトでは、文字列の短いリスト (上の画像など[['9','104th/Vincennes','1158','12 MINUTES'],['9','95th','1300','13 MINUTES']]
) を取得してから終了する必要があるためです。