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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

801閲覧

spython requestsで取得したデータをリストへ格納

souzougoto

総合スコア9

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2020/10/19 07:35

前提・実現したいこと

pythonでresquestsで取得したデータをリストへ格納しようとしておりますが、
思ったようにできません。
行ごとに、一つのリストの要素としてリストへ格納したいのですがうまくいきません。

r.textの内容は
'abcde'
'fghij'
'abcss'
........

欲しい結果
['abcde\n', 'fghij\n', 'abcss\n', ...]

発生している問題・エラーメッセージ

['a', 'b', 'c', 'd', 'e', 'f'...........]

該当のソースコード

python

1import requests 2url = URL 3r = requests.get(url,verify=False) 4 5new_list = [] 6for i in r.text: 7 new_list += i 8 print(new_list) 9

試したこと

一度テキストに保存したりすれば行ごとに読み込めますが、
これでは、必要のない操作が増えてしまします。

補足情報(FW/ツールのバージョンなど)

python 3.7

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

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

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

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

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

guest

回答1

0

ベストアンサー

r.textとしても要素数は1しかないので、for文を使用しても1回しか処理は実行されません。
print(len(r.text)で要素数を確認してみましょう。
おそらくは単語を分割してリストに追加したいという事でしょうか。
その場合にはfor文を使用する必要はなくr.text.split()とするだけで自動的に単語が分割されリスト化されます。

python

1import requests 2url = URL 3r = requests.get(url,verify=False) 4 5new_list = r.text.split() 6print(new_list)

またResponseオブジェクトに使用できる.textメソッドはテキストを取得する為のものではなく
Responseオブジェクトが持つhtml情報をテキスト化するものであり、htmlタグも含まれてしまいます。
従って純粋なテキストだけを取得したい場合にはBeautifulSoupを使用すると良いでしょう。

python

1import requests 2from bs4 import BeautifulSoup 3url = URL 4r = requests.get(url,verify=False) 5soup = BeautifulSoup(r.content, 'html.parser') 6new_list = soup.text.split() 7print(new_list)

投稿2020/10/19 07:59

nto

総合スコア1438

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

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

souzougoto

2020/10/20 06:17

ご親切に、BeautifulSoupまで紹介いただき誠にありがとうございます。 問題解決いたしました。
nto

2020/10/20 06:31

BeautifulSoupの使用には「pip install bs4」が必要となっておりますので、インストールをしてからお試しください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問