Closed takeshi-nagaoka closed 3 years ago
@takeshi-nagaoka さん 誤記のご指摘ありがとうございます。 こちらで試したところ、問題なく動くことを確認しました。
エラーメッセージなどを貼っていただければ、もう少し詳しいことがわかるかもしれません。
説明不足で失礼いたしました。
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
@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を起動しなおしたら、エラーになってしまいます。
なので、ご指摘が正しいです。ありがとうございました。 修正をおこないました。
ページ数 https://colab.research.google.com/drive/1kpCpvHZWmE6h4uKf65NlWiwP38gcpMxM#scrollTo=QG6B4p2rtVPB&line=1&uniqifier=1
内容 import urllibだけでは正常に動作しませんでした。 import urllib.requestにすることで動作しましたのでご報告いたします。 誤:import urllib 正:import urllib.request
コメント