質問: div.h2 を soup.find('h2').get_text() と変更し、調整してみましたが、 raise TemplateNotFound(template) とエラーが出てしまいました。 構造的な問題なのか、こちらもよくわからず困っております。 どうかお力添えを賜りたいです。よろしくお願いします。
回答: [title = div.h2 を soup.find('h2').get_text() に変更するとraise TemplateNotFound(template)が発生する理由] 上記の~.pyファイルと同じフォルダにtemplateフォルダを作り、その中にindex.htmlとlayout.htmlを作成していないからではないでしょうか。 (index.htmlの中身はここ、 layout.htmlの中身はここの通りになっている必要があります) あと、(templateフォルダおよびその中にindex.html、layout.htmlを作成したうえで) title = div.h2 を soup.find('h2').get_text() とする必要はなく、 title = div.h3 とすれば、元のAttributeError: 'NoneType' object has no attribute 'getText'エラーは 発生しなくなると思います。 (蛇足ですが、元記事は2年以上前の記事なので、その頃から比べるとはてなブックマークのトップページの構造が変わってしまっていると思われます。 したがって、現時点ではユーザー数が20以上のリンクは最初の1つしか取得できません)