karaage0703 / karaage-ai-book

MIT License
104 stars 14 forks source link

03_karaage_ai_book_blog_to_text.ipynbの動作しないコードについて #22

Closed takeshi-nagaoka closed 3 years ago

takeshi-nagaoka commented 3 years ago

ページ数 https://colab.research.google.com/drive/1kpCpvHZWmE6h4uKf65NlWiwP38gcpMxM#scrollTo=QG6B4p2rtVPB&line=1&uniqifier=1

内容 import urllibだけでは正常に動作しませんでした。 import urllib.requestにすることで動作しましたのでご報告いたします。 誤:import urllib 正:import urllib.request

コメント

karaage0703 commented 3 years ago

@takeshi-nagaoka さん 誤記のご指摘ありがとうございます。 こちらで試したところ、問題なく動くことを確認しました。

エラーメッセージなどを貼っていただければ、もう少し詳しいことがわかるかもしれません。

takeshi-nagaoka commented 3 years ago

説明不足で失礼いたしました。

import urllib
from readability.readability import Document
import html2text
import logging # for logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) # for logging

text_list = []

for url in data['URL']:
  u = urllib.request.urlopen(url)
  s = u.read()
  article = Document(s).summary()
  text = html2text.html2text(article)
  text_list.append(text)

上記コードで実行した結果、以下のエラーが返ってきます。

AttributeError                            Traceback (most recent call last)
<ipython-input-9-bb387e506cb6> in <module>()
      8 
      9 for url in data['URL']:
---> 10   u = urllib.request.urlopen(url)
     11   s = u.read()
     12   article = Document(s).summary()

AttributeError: module 'urllib' has no attribute 'request'

エラー原因は以下のようです。colabの環境によって変わるのでしょうか・・・ https://qiita.com/tumu94hockey/items/379757e537265f7cfd86

karaage0703 commented 3 years ago

@takeshi-nagaoka さん 原因がわかりました。 Colabのノートブックでスクレイピングのために最初に実行している、以下のコマンドの有無で挙動が変わりました。

!python all_in_one.py -u http://karaage.hatenadiary.jp -d data -n 1

よくみたらall_in_one.pyの中でfrom urllib import requestを実行していました。スクレイピングのあと、Colabをそのまま実行したらエラーでませんが、Colabを起動しなおしたら、エラーになってしまいます。

なので、ご指摘が正しいです。ありがとうございました。 修正をおこないました。