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

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

ただいまの
回答率

87.48%

AttributeError: 'NoneType' object has no attribute 'items'が出た!!

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 830

前提・実現したいこと

Pythonでスクレイピングの勉強をしていてたらエラーが発生しました
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

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

エラーメッセージ

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/opt/anaconda3/lib/python3.8/site-packages/IPython/core/formatters.py in __call__(self, obj)
    343             method = get_real_method(obj, self.print_method)
    344             if method is not None:
--> 345                 return method()
    346             return None
    347         else:

/opt/anaconda3/lib/python3.8/site-packages/pandas/core/frame.py in _repr_html_(self)
    732             self.info(buf=buf)
    733             return buf.getvalue()
--> 734 
    735         max_rows = get_option("display.max_rows")
    736         min_rows = get_option("display.min_rows")

/opt/anaconda3/lib/python3.8/site-packages/pandas/io/formats/format.py in to_html(self, buf, encoding, classes, notebook, border)
    980             Whether the generated HTML is for IPython Notebook.
    981         border : int
--> 982             A ``border=border`` attribute is included in the opening
    983             ``<table>`` tag. Default ``pd.options.display.html.border``.
    984         """

/opt/anaconda3/lib/python3.8/site-packages/pandas/io/formats/html.py in __init__(self, formatter, classes, border)
     57         self.col_space = {
     58             column: f"{value}px" if isinstance(value, int) else value
---> 59             for column, value in self.fmt.col_space.items()
     60         }
     61 

AttributeError: 'NoneType' object has no attribute 'items'
### 該当のソースコード

ここに言語名を入力python
ソースコード
from bs4 import BeautifulSoup as bs
import pandas as pd
import requests
from datetime import datetime
import time
import re
import warnings
warnings.filterwarnings("ignore")
!pip install fake-useragent
from fake_useragent import UserAgent
ua = UserAgent()
useragent = ua.random
url = "https://www.biccamera.com/bc/category/?q=laptop&rowPerPage=100#bcs_resultTxt"
headers = {"User-Agent":useragent}
res = requests.get(url,headers=headers)
res_bs = bs(res.content,"html.parser")
item_list = res_bs.findAll(class_=re.compile(r"prod_box sku*"))

output = []

for num,item in enumerate(item_list):

item_url = item.find(class_="cssopa").get("href")

title = item.find(class_= "cssopa").find("img").get("alt")

picture = item.find(class_="cssopa").find("img").get("src")

maker = item.find(class_="bcs_maker").text

spec = item.find(class_="bcs_title").text

price = item.find(class_=re.compile(r"bcs_price*"))

if item.find(class_="bcs_point"):
point = item.find(class_="bcs_point").text
else:
point ='no bcs_point'

stock = item.find(class_=re.compile(r"label_*")).text

if item.find(class_="bcs_star"):
raiting = item.find(class_="bcs_star").find('a').text
else:
raiting = '0'

if item.find(class_="bcs_ship"):
terms = item.find(class_="bcs_ship").text
else:
terms = '0'
output.append({
'item_url':item_url,
'title':title,
'picture':picture,
'maker':maker,
'spec':spec,
'price':price,
'point':point,
'stock':stock,
'raiting':raiting,
'terms':terms,

})
pd.DataFrame(output)   if item.find(class_="bcs_point"):
point = item.find(class_="bcs_point").text

試したこ

ここに問題に対して試したことを記載してください。
いろいろ検索してみたんですが自己解決できませんでした

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

Python3 JupyterLab
ここにより詳細な情報を記載してください。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • sfdust

    2020/08/25 22:20

    >いろいろ検索してみたんですが自己解決できませんでした
    どのようなことを検索したのか記述してください、

    キャンセル

  • NkWQhpMooQxrDYL

    2020/08/25 22:37

    pandas dataframe のエラーについてなどです

    キャンセル

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

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

  • ただいまの回答率 87.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

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