前提・実現したいこと
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 ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー