相変わらず月に1回くらい、長期記憶を鍛えるかのように一進一退のpythonのコーディングに取り組んでいます。
これからGWくらいで、某アカウントアグリゲーションサービスのスクレイピングをしようとしています。 Webサービスにするとセキュリティが問題になるので、ローカルだけで動かすツールにします。
このサイトを参考に基礎から勉強中。うまく行くのでしょうか。
今日の引っかかりはこんなエラー。
AttributeError: 'module' object has no attribute 'html'
なんか・・・1年くらい前に見た記憶がありますが、原因と対処を思い出せません。
エラー発生時のコードはこれ。
import lxml a= open(r"201502.htm", "r", encoding='utf-8') target_html = a.read() root = lxml.html.fromstring(target_html)
調べた結果、原因は下記URLにあるように、importの記載ミスでした。
python import statement semantics - Stack Overflow
lxmlは moduleだけど、html のattributeは読み込み忘れていたので、moduleに存在しないといわれているエラーでした。
1行目を
import lxml.html
に直して、module内に.htmlを取り込む(?)ことで解決。
すっきり。