前提・実現したいこと
Yahoo道路交通情報からBeautifulSoupでスクレイピングした結果から改行、スペースを消したい
該当のソースコード
Python3
1import urllib.request as req 2from bs4 import BeautifulSoup as bs 3 4def roadscrape(): 5 url = "https://roadway.yahoo.co.jp/list" 6 html = req.urlopen(url) 7 soup = bs(html, "lxml") 8 for table in soup.select('#adt_lst'): 9 for tr in table.find_all("tr"): 10 r_road = [td.get_text(strip=True) for td in tr.find_all("td")] 11 if r_road: 12 yield r_road 13 14def main(): 15 for i, r_road in enumerate(roadscrape()): 16 print(",".join(r_road)) 17 18main() 19
###実行結果(該当のソースコード)
試したこと
get_textに(strip=True)を追加した
しかし出力すると改行やスペースが含まれている
補足情報(FW/ツールのバージョンなど)
Pythonのバージョンは[3.6.9]です。
###参考
PythonによるスクレイピングでLifehack 運行情報を取得して通知する
こちらのページのコメント部分にあるコードを利用しました。
###別のアプローチ
「上り」が表示されていた場合に下りが表示されていないことや、
「事故等 他の規制」の間に改行があって下にずれている場合がある部分を整備したもの
Python3
1import pandas as pd 2import sys 3df = pd.read_html("https://roadway.yahoo.co.jp/list", index_col=0)[0] 4df.to_csv(sys.stdout, header=False)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/12 03:28
2020/01/12 10:49
2020/01/12 13:00