pythonからhtmlで要素を抜き出し、CSVへの出力を試みたのですが、データの配置がうまくいきません。
以下は、CSVへの書き込み後の画像になります。
以下は、コードになります。
import urllib.request, urllib.error from bs4 import BeautifulSoup import csv # アクセスするURL url = "https://www.homemate-research-baseball.com/dtl/00000000000000387599/" # URLを開く html = urllib.request.urlopen(url) # BeautifulSoupで開く soup = BeautifulSoup(html, "html.parser") # HTMLからニュース一覧に使用しているaタグを絞りこんでいく mod_adress_head = soup.select_one(".mod_adress_head") table_adrs = mod_adress_head.select(".adrs") item_name = table_adrs[0].select_one(".name").text item_data = table_adrs[1].select_one(".data").text item_access = table_adrs[3].select_one(".access").text # 配列の作成。表の見出し部分の情報を入力しておく。 csvlist = [["名称","所在地","交通アクセス"]] # CSVファイルを開く。ファイルがなければ新規作成する。 csvlist.append([item_name]) csvlist.append([item_data]) csvlist.append([item_access]) f = open("output.csv", "w") writecsv = csv.writer(f, lineterminator='\n') # 出力 writecsv.writerows(csvlist) # CSVファイルを閉じる。 f.close()
現状、全てが名称カラムの箇所に入ってしまっているのですが、これを、所在地は所在地の箇所へ、交通アクセスは交通アクセスの箇所へといった形で格納したいです。
どなたか、ご助言頂けましたら幸いです。
追記です
csvlist
へのデータの追加を以下のような形に修正いたしました。
csvlist.append([item_name, item_data, item_access])
ご提示頂きましたこちらのコードで、配置の方は、うまくいったのですが、現状文字が見切れて隠れてしまっているといった状態です...
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/24 04:10