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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

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

受付中

スクレイピングアプリ作成中に起きたエラー、'AttributeError: 'NoneType' object has no attribute 'text''について

shotengai
shotengai

総合スコア1

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

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

1回答

0評価

0クリップ

8971閲覧

投稿2020/06/29 06:17

前提・実現したいこと

プログラミング自体初心者で、
BeautifulSoupを使ってサイトから店名と住所をリスト化する練習をしています。
そこで
AttributeError: 'NoneType' object has no attribute 'text'
が発生して困っています。どうかよろしくお願いいたします。

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

Traceback (most recent call last): File "/home/ec2-user/environment/list_maker.py", line 32, in <module> phone_number = get_number() File "/home/ec2-user/environment/list_maker.py", line 18, in get_number shopname = item.select_one('.shopname').text.replace('\n', '') AttributeError: 'NoneType' object has no attribute 'text'

該当のソースコード

python

import requests from bs4 import BeautifulSoup area = input('エリアアルファベットを入力してください:\n') def get_adress(): url = 'https://nightstyle.jp/' + area + '/' responce = requests.get(url) html = responce.text soup = BeautifulSoup(html, 'html.parser') items = soup.select('.list-item') iteme_number = 0 adress_list = [] for item in items: shopname = item.select_one('.shopname') adress = item.select_one('.important') adress_list.append(adress) print(iteme_number) print(shopname) print(adress + '\n') iteme_number += 1 selected_itme_number = int(input('番号を入力してください\n')) selected_adress = int(adress_list[selected_itme_number]) print(selected_adress) return selected_adress shop_adress = get_adress()

試したこと

他者の同じエラーが出ている質問を見ても、分かりませんでした。

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

aws cloud9
python 3.x

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

otn

2020/06/29 08:01

プログラムとエラーメッセージが対応していません。 エラーメッセージを取り違えてないとすれば、質問文のプログラムを削除して、"/home/ec2-user/environment/list_maker.py" を代わりにコピペしましょう。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

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