パイプ(および必要に応じて追加のPythonスクリプト)を使用して、テキストから最も頻繁に使用される10個の単語を抽出する必要があります。出力は、スペースで区切られたすべて大文字の単語のブロックです。このパイプは、外部ファイルからテキストを抽出する必要があります。.txtファイルで機能させることができましたが、URLを入力して、同じことを実行できるようにする必要もあります。
私は次のコードを持っています:
alias words="tr a-zA-Z | tr -cs A-Z | tr ' ' '\012' | sort -n | uniq -c |
sort -r | head -n 10 | awk '{printf \"%s \", \$2}END{print \"\"}'" (on one line)
これは、私にcat hamlet.txt | words
与えます:
TO THE AND A 'TIS THAT OR OF IS
さらに複雑にするために、「機能語」の単語を除外する必要があります。これらは、「a」、「the」、「of」、「is」、任意の代名詞(I、あなた、彼)のような「非語彙」の単語です。 、および任意の前置詞(there、at、from)。
htmlstrip http://www.google.com.au | words
上記のように入力して印刷できるようにする必要があります。
URLを開く場合:私が理解しようとしているPythonスクリプト(htmlstripと呼びましょう)は、テキストからすべてのタグを取り除き、「人間が読める」テキストのみを残します。これにより、任意のURLを開くことができるはずですが、これを機能させる方法がわかりません。私がこれまでに持っているもの:
import re
import urllib2
filename = raw_input('File name: ')
filehandle = open(filename)
html = filehandle.read()
f = urllib2.urlopen('http://') #???
print f.read()
text = [ ]
inTag = False
for ch in html:
if ch == '<':
inTag = True
if not inTag:
text.append(ch)
if ch == '>':
inTag = False
print ''.join(text)
私はこれが不完全であり、おそらく正しくないことを知っています-どんなガイダンスも本当にありがたいです。