休講情報を抜き出してそれを見やすくHTMLに出力したいのですが,実行画面では上手くいってもHTMLでは上手くいきません.上手く出力するにはどうすれば良いですか?
python
1from selenium import webdriver 2from selenium.webdriver.common.keys import Keys as keys 3#from autotest_lib.client.common_lib.cros import chromedriver 4import urllib 5from bs4 import BeautifulSoup 6import csv 7path_w=r'C:\Users\mkou0\Desktop\HTML\scrap_try.html' 8# Macの場合 (Chromedriveがこのプログラムを実行している同じ場所にある前提) 9#driver = webdriver.Chrome(executable_path="./chromedriver") # Windowsの方はこの行をコメントアウト 10#with chromedriver.chromedriver() as chromedriver_instance: 11 # driver = chromedriver_instance.driver 12 13url="https://duet.doshisha.ac.jp/kokai/html/fi/fi050/FI05001G.html" 14instance=urllib.request.urlopen(url) 15soup=BeautifulSoup(instance,"html.parser") 16get_words=soup.select_one("#form1 > div:nth-child(11) > div > span > table") 17 18print(get_words) 19print() 20rows=get_words.find_all('tr') 21 22for tr in rows: 23 24 cols = tr.find_all('td') 25 #tdはTableDataの略でありテーブルセルの内容を指定する 26 27 for td in cols: 28 info=td.find(text=True) 29 if info==None: 30 info='理由なし' 31 print(info) 32 33 for data in info: 34 result=[[x] for x in data] 35 with open(path_w,mode='a') as f: 36 f.write("\n".join(str(result))) 37 38``````実行画面 392講時 40コリア語会話初級1-1 41李 裕淑 42理由なし 432講時 44ハングル会話初級1-1 45李 裕淑 46理由なし 472講時 48スポーツ・パフォーマンス1-324 49鷲谷 洋輔 50学会 51・ 52・ 53・
というようになっているのですが,
HTML
1[ [ ' 2 ' ] ][ [ ' 講 ' ] ][ [ ' 時 ' ] ][ [ ' コ ' ] ][ [ ' リ ' ] ][ [ ' ア ' ] ][ [ ' 語 ' ] ][ [ ' 会 ' ] ][ [ ' 話 ' ] ][ [ ' 初 ' ] ][ [ ' 級 ' ] ][ [ ' 1 ' ] ][ [ ' - ' ] ][ [ ' 1 ' ] ][ [ ' 李 ' ] ][ [ ' \ u 3 0 0 0 ' ] ][ [ ' 裕 ' ] ][ [ ' 淑 ' ] ][ [ ' 理 ' ] ][ [ ' 由 ' ] ][ [ ' な ' ] ][ [ ' し ' ] ][ [ ' 2 ' ] ][ [ ' 講 ' ] ][ [ ' 時 ' ] ][ [ ' ハ ' ] ][ [ ' ン ' ] ][ [ ' グ ' ] ][ [ ' ル ' ] ][ [ ' 会 ' ] ][ [ ' 話 ' ] ][ [ ' 初 ' ] ][ [ ' 級 ' ] ][ [ ' 1 ' ] ][ [ ' - ' ] ][ [ ' 1 ' ] ][ [ ' 李 ' ] ][ [ ' \ u 3 0 0 0 ' ] ][ [ ' 裕 ' ] ][ [ ' 淑 ' ] ][ [ ' 理 ' ] ][ [ ' 由 ' ] ][ [ ' な ' ] ][ [ ' し ' ] ][ [ ' 2 ' ] ][ [ ' 講 ' ] ]
となってしまいます.
「実行画面ではうまくいく」というのは「print(get_words)」の出力結果のことでしょうか?
回答1件
あなたの回答
tips
プレビュー