前提・実現したいこと
スクレイピングを行なっていると下記のようなエラーが発生しました。
パーサーが明示的に指定されてないということで『soup = BeautifulSoup(r.text )』の引数を追加してみたりしたのですがエラーが消えず解決方法がわかりません
発生している問題・エラーメッセージ
GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently. The code that caused this warning is on line 29 of the file /Users/nakamotokenta/PycharmProjects/hayatasuProject/main.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor. soup = BeautifulSoup(r.text)
該当のソースコード
Python
1from time import sleep 2 3from bs4 import BeautifulSoup 4import requests 5from pprint import pprint 6import re 7import pandas as pd 8 9# 変数urlにSUUMOホームページのURLを格納する 10url = 'https://suumo.jp/chintai/tokyo/sc_shinjuku/?page={}' 11 12# 変数d_listに空のリストを作成する 13d_list = [] 14 15# アクセスするためのURLをtarget_urlに格納する 16for i in range(1,3): 17 print('d_listの大きさ',len(d_list)) 18 target_url = url.format(i) 19 20 # print()してtarget_urlを確認する 21 print(target_url) 22 23 # target_urlへのアクセス結果を、変数rに格納 24 r = requests.get(target_url) 25 26 sleep(1) 27 28 # 取得結果を解析してsoupに格納 29 soup = BeautifulSoup(r.text ) 30 31 # すべての物件情報(20件)を取得する 32 contents = soup.find_all('div', class_= 'cassetteitem') 33print(contents)
試したこと
●soup = BeautifulSoup(r.text )の行ををいろいろ書き換えてみました
❶soup = BeautifulSoup(r.text, "html.parser")
❷soup = BeautifulSoup(r.text, 'lxml')
❸soup = BeautifulSoup(r.text, 'html5lib')
上記を実行すると全て同じエラーが出てきました。
補足情報(FW/ツールのバージョンなど)
macOS Big Sur ver11.5
python 3.8.5
エディタ PyCharm 2021.2 (Community Edition)
回答1件
あなたの回答
tips
プレビュー