転職活動中兼プログラミング勉強中のミオです。
Windows11に更新した途端、キーボードの反応がすこぶる悪くなり
ブチ切れそうになりながらプログラミングをしています。
どなたか解消方法ご存じでしたらご教示ください。
さて、先日『Python 1年生』を買ったよ~という記事の中で
「3年生まで3冊一気買いした」と書いたのですが
同志の方は「おや?」と思われたかもしれません。
そう、2年生はなんと2冊ある。
そして、よりによって後編を先に買ってしまった私。
ということで急遽『スクレイピングのしくみ』編を楽天で注文し
今日無事ゲットしました。
https://www.amazon.co.jp/dp/B07W2ZNG8Z/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
まだ最初の方しかやっていませんが、早速やらかしたミスを
これから学ぶ初心者の方のために残しておきます。
p.56を見ながら、自分が見ているページの該当箇所に直したつもりのコード
import requests
from bs4 import BeautifulSoup
#WEBページからを取得して解析する
load_url = "https://news.yahoo.co.jp/topics/it"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")
# classで検索し、その中のすべてのaタグを検索して表示する
topic = soup.find(id = "newsFeed_list")
for element in topic.find_all("a"):
print(element.text)
Run moduleをした結果、告げられた悲しきエラー
Traceback (most recent call last):
File "C:\Users\<ミオのファイル名>\OneDrive\デスクトップ\Python\chap2-5.py", line 11, in <module>
for element in topic.find_all("a"):
AttributeError: 'NoneType' object has no attribute 'find_all'
どうして
実は、その前のサンプルで、soup.findの対象をidにしており
それをそのまま流用したので、class_に書き換えないといけないことに気づいておりませんでした。
でも、参考書通りに1から打ち直してたら逆に気付けなかったと思うので結果オーライです!
書き直したコード
import requests
from bs4 import BeautifulSoup
#WEBページからを取得して解析する
load_url = "https://news.yahoo.co.jp/topics/it"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")
#idで検索して、そのタグの中身を表示する
topic = soup.find(class_ = "newsFeed_list")
for element in topic.find_all("a"):
print(element.text)
結果
レトロゲームの価格高騰 背景は12/21(火) 13:56
ネット中傷 消極的な警察に失望12/21(火) 11:28
接種の偽造アプリ証明が横行 仏12/21(火) 9:13
楽天のiPhone着信不具合?現状は12/20(月) 23:38
金メダル Twitterトレンド大賞12/20(月) 23:17
接種証明アプリ 25万件交付12/20(月) 17:59
京アニ事件で虚偽投稿 NHK勝訴12/20(月) 17:28
接種証明アプリ 広がり不透明12/20(月) 16:35
接種証明アプリ 旧姓併記使えず12/20(月) 14:26
接種証明アプリ きょう運用開始12/20(月) 10:54
目的変化?若者プロフ文化の今昔12/19(日) 15:41
演奏会で客が乱闘?主催者認める12/16(木) 22:11
米Apple 出社再開を無期限延期12/16(木) 20:24
FF14一部パック販売停止 混雑で12/16(木) 17:01
ゲーム配信 ジャニーズ本格進出12/16(木) 11:29
ネット流行語 大賞は「ウマ娘」12/15(水) 23:01
Twitter 動画に字幕を自動追加12/15(水) 14:58
個人情報 保管先公表義務付けへ12/15(水) 12:10
携帯 同じメアドで乗り換え可に12/15(水) 7:57
うん、成長成長