2016-12-23 11 views
0

OS:macOS Sierra Python ver .: 2.7.10がインストールされ、3.5.2がインストールされています。 (デフォルト設定2.7.10 - > 2.7をアンインストールする方法、またはpython 2.7からpython 3.5にデフォルト設定を変更する方法を知っている人) Pycharm:2016.2.3(Project Interpreter 3.5.2)Pycharm can not import Beautifulsoup

私はWebを開発していますBeautifulSoupライブラリに基づいたクローラですが、決して取り除くことのできないエラーメッセージがあります。私はPycharmにbeautifulsoup4ライブラリをインストールしましたが、ライブラリをロードすることもできますが、 "find"関数に応答すると、 "NoneType 'オブジェクトには' find '属性がありません。

キャプチャしたエラーメッセージの画像を添付しました。

私はこれを解決するために手伝ってください。

ありがとうございました。 Error Message

+0

これは、異なる理由にPycharmのない問題、BeautifulSoupライブラリが正しくインポートされている、それはコード –

答えて

1

エラーメッセージがあなたのオブジェクトtitle_sectionがnullであることを意味し、これはあなたの質問ではなく、インポートすることはできませんBeautifulsoupへの本当の理由でした。

また、ウェブページhttp://52.68.130.249/textboard/は、あなたのtitle_sectionは、エラーメッセージにつながるnullの場合、クラスtitle_sectionを含むタグdivを持っていません。

+0

おかげでロットの問題だろうとAttributeError原因です!私は慎重に校正していくつかのタイプミスを修正した。 –

0

は、だからあなたのページを見て、問題は、あなたがクラス「title_section」とのdivを探しているということですが、実際のDIVは「タイトルセクション」と命名されます。アンダースコアはダッシュでなければなりません。それが何かを見つけることができない場合

BeautifulSoupはNoneを返します。

title_section = content_table.find('div', class_='title_section')

title_sectionクラスとはdiv要素がないので、とBeautifulSoupのfind方法は、Noneを返します。したがって、あなたの呼び出しは、Python変数title_sectionNoneに設定します。お電話の際は、次に:

title_section.find('h1')

をあなたはNone.find('h1')を呼んでいる、とPythonインタプリタはNoneTypeオブジェクトが何も属性が見つからなかったことを示しています。

content_table.find('div', class_='title-section')に呼び出しを変更すると、を呼び出すことができるBeautifulSoupオブジェクトが返されます。