質問編集履歴

1 これが全文になります。環境はPython 3.7.4 でVScodeにてコードを書いています。

kajirita2002

kajirita2002 score 14

2019/12/19 02:11  投稿

フィードをパースする際にエラーが発生する
RSSのフィードをパースしようとしてまずはフィードから全ての単語を取り出す関数を作ろうとしたのですがVScode上で以下のようなエラーが発生します。エラーを調べましたが
```python
import feedparser  
import re  
 
# RSSフィードのタイトルと、単語の頻度のディクショナリを返す  
 
 
def getwordcounts(url):
   # フィードをパースする
   d = feedparser.parse(url)
   wc = {}
   # 全てのエントリをループする
   for e in d.entries:
       if 'summary' in e:
           summary = e.summary
       else:
           summary = e.description
       # 単語のリストを洗い出す
       words = getwords(e.title + ' ' + summary)
       for word in words:
           wc.setdefault(word, 0)
           wc[word] += 1
   return d.feed.title, wc
```
```
Module 'feedparser' has no 'parse' member
def getwords(html):
   # 全てのHTMLタグを取り除く
   txt = re.compile(r'<[^>]+>').sub('', html)
   # 全ての日アルファベット文字で分割する
   words = re.compile(r'[^A-Z^a-z]+').split(txt)
   # 小文字に変換する
   return [word.lower() for word in words if word != '']
   apcount = {}
   wordcounts = {}
   feedlist = [line for line in open('feedlist.txt')]
   for feedurl in feedlist:
       try:
           title, wc = getwordcounts(feedurl)
           wordcounts[title] = wc
           for word, count in wc.items():
               apcount.setdefault(word, 0)
               if count > 1:
                   apcount[word] += 1
       except:
           print('Failed to parse feed %s' % feedurl)
   wordlist = []
   for w, bc in apcount.items():
       frac = float(bc) / len(feedlist)
       if frac > 0.1 and frac < 0.5:
           wordlist.append(w)
   out = open('blogdata.txt', 'w')
   out.write('Blog')
   for word in wordlist:
       out.write('\t%d' % wc[word])
   out.write('\n')
   for blog, wc in wordcounts.items():
       out.write(blog)
       for word in wordlist:
           if word in wc:
               out.write('\t%d' % wc[word])
           else:
               out.write('\t0')
       out.write('\n')
```
と出てきます
これについて調べましたが原因が全くわからなかったため投稿しました。
よろしければご回答いただければ幸いです。
  • Python

    34464 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • RSS

    249 questions

    RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

  • パース

    26 questions

    パースとは、一定の文法に従って記述されたテキスト文書を解析し、データ構造の集合体に分解・変換することを呼びます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る