質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

583閲覧

pythonで指定したサイトにあるタグ情報を取り出してテキストに書き出したい

Cherry1217

総合スコア24

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/19 20:19

◇やりたいこと -> pythonであるサイトにアクセス(今回はjalの公式サイトを使用させてもらいます)して指定したタグを取り出し、テキストファイルに書き出す

◇できないこと -> テキストファイルに書き出すと、最後の1行しか表示がされません

python

1import requests 2from bs4 import BeautifulSoup 3import time 4import scrapy 5 6#jalのHTML情報を取得して表示する 7 8url = 'https://www.jal.com/ja/' 9 10response = requests.get(url) 11response.encoding = response.apparent_encoding 12 13bs = BeautifulSoup(response.text,'html.parser') 14insurance_word = bs.find_all('a') 15 16for i in insurance_word: 17 test_text = i.text 18 print(test_text) 19 20filename_text = 'C:\Users\(自分のユーザー名)\Documents\ファイル作成フォルダ\test.txt' 21 22with open(filename_text, 'a') as f: 23 f.writelines(test_text)

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

テキストファイルに書き出すと、最後の1行しか表示がされません

というなら、実際に書き込んでいるところで何を書き込んでいるのか確認しましょう。

with open(filename_text, 'a') as f:

f.writelines(test_text)

この、test_text の中には何が入ってるでしょう。
実際に動かして、自分の目で見てみましょう

投稿2021/05/19 21:58

y_waiwai

総合スコア87784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

filename_text = ~行の直下に
print(test_text)
としてみて下さい。

おそらく、最後の行しか出力されません。
ですので、当然ファイルに記録されるのも最後の行だけです。

なぜコンソール上では正常に動作しているように見えるのに、実際はこうなるのかは考えてみて下さい。

あと、
f.writelines(test_text)
ですが、writelines()を使用しているのは何か理由があるのでしょうか?(通常はリスト等の出力に使います)
write()でいいような気はします。

投稿2021/05/19 21:11

udon-ken

総合スコア657

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問