python/嗜好のクラスタAmazon版
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[python/集合知3章]]
#contents
2009/02/04からのアクセス回数 &counter;
** Amazonの欲しいものリスト [#pa498705]
Amazonの欲しいものリストを使うと特定の人の欲しいものリス...
取得することができます。
[[Amazonのサイト>http://www.amazon.co.jp]]に入り、「欲し...
をクリックすると欲しいものリストサーチが入力ボックスがあ...
ここに、例えばaと入力すると、名前にAが付く人の一覧がでま...
人の名前をクリックするとその人の欲しいものリストが表示さ...
なっています。
** AWSを使って欲しいものリストを取得する [#tcc73476]
Amazonが提供するAWSを使って、欲しいものリストを取得する方...
AWSでは、ユーザ名またはメールアドレスでユーザを検索する機...
これと指定されたユーザの欲しいものリストを出力する機能を...
ユーザの欲しいものリストを作成します。
以下のtest2.pyがAmazonの欲しいものリストを取得するプログ...
処理におよそ30分ほどかかります。&ref(amazon.txt); をダウ...
お使い下さい。
#pre{{
# -*- coding: utf-8 -*-
import japanese
import urllib2
import re
from BeautifulSoup import BeautifulSoup
awsKey = '1DDNRNZZETYB32XAG2G2'
awsURL = 'http://webservices.amazon.co.jp/onca/xml?Servic...
searchURL = awsURL + '&Operation=ListSearch&ListType=Wish...
lookupURL = awsURL + '&Operation=ListLookup&ListType=Wish...
itemowners = {}
users = []
alpha='abcdefghijklmnopqrstuvwxyz'
for i in range(len(alpha)):
for uPage in range(1,4):
url = searchURL + '&AWSAccessKeyId=' + awsKey + '...
c=urllib2.urlopen(url)
soup=BeautifulSoup(c.read())
listIds=soup('listid')
for listId in listIds:
iPage = 1
nPage = 1
while iPage <= nPage:
id=listId.contents[0]
users.append(id)
url2= lookupURL + '&AWSAccessKeyId=' + aw...
iPage += 1
c=urllib2.urlopen(url2)
soup2=BeautifulSoup(c.read())
if iPage == 1:
totalPages = soup2('totalpages')
nPage = int(totalPages[0].contents[0])
#titles=soup2('title')
titles=soup2('author')
for title in titles:
goods=title.contents[0]
itemowners.setdefault(goods,[])
itemowners[goods].append(id)
out=file('amazon.txt', 'w')
out.write('Item')
for user in users: out.write('\t' + user)
out.write('\n')
for item,owners in itemowners.items():
if len(set(owners)) > 2:
out.write(item)
for user in users:
if user in owners: out.write('\t1')
else: out.write('\t0')
out.write('\n')
}}
** 嗜好のクラスタ分析 [#dbf3b830]
得られた著者とユーザの欲しいものリストのデータに対して、t...
クラスタ分析をします。
#pre{{
# -*- coding: utf-8 -*-
import japanese
import clusters
wants,people,data=clusters.readfile('amazon.txt')
clust=clusters.hcluster(data, distance=clusters.tanamoto)
clusters.drawdendrogram(clust, wants, png='amazon.png')
}}
分析結果は、以下の通りです。
&ref(amazon-UserAuthor.jpg);
- 恩田 睦、東野 圭吾は、ともに直木賞作家
- 勝間 和代、マーク 富岡、茂木健一郎、本田 直之、大前...
のグループもうまくまとまっている感じがします。
** コメント [#tbf261fc]
この記事は、
#vote(おもしろかった[8],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
終了行:
[[python/集合知3章]]
#contents
2009/02/04からのアクセス回数 &counter;
** Amazonの欲しいものリスト [#pa498705]
Amazonの欲しいものリストを使うと特定の人の欲しいものリス...
取得することができます。
[[Amazonのサイト>http://www.amazon.co.jp]]に入り、「欲し...
をクリックすると欲しいものリストサーチが入力ボックスがあ...
ここに、例えばaと入力すると、名前にAが付く人の一覧がでま...
人の名前をクリックするとその人の欲しいものリストが表示さ...
なっています。
** AWSを使って欲しいものリストを取得する [#tcc73476]
Amazonが提供するAWSを使って、欲しいものリストを取得する方...
AWSでは、ユーザ名またはメールアドレスでユーザを検索する機...
これと指定されたユーザの欲しいものリストを出力する機能を...
ユーザの欲しいものリストを作成します。
以下のtest2.pyがAmazonの欲しいものリストを取得するプログ...
処理におよそ30分ほどかかります。&ref(amazon.txt); をダウ...
お使い下さい。
#pre{{
# -*- coding: utf-8 -*-
import japanese
import urllib2
import re
from BeautifulSoup import BeautifulSoup
awsKey = '1DDNRNZZETYB32XAG2G2'
awsURL = 'http://webservices.amazon.co.jp/onca/xml?Servic...
searchURL = awsURL + '&Operation=ListSearch&ListType=Wish...
lookupURL = awsURL + '&Operation=ListLookup&ListType=Wish...
itemowners = {}
users = []
alpha='abcdefghijklmnopqrstuvwxyz'
for i in range(len(alpha)):
for uPage in range(1,4):
url = searchURL + '&AWSAccessKeyId=' + awsKey + '...
c=urllib2.urlopen(url)
soup=BeautifulSoup(c.read())
listIds=soup('listid')
for listId in listIds:
iPage = 1
nPage = 1
while iPage <= nPage:
id=listId.contents[0]
users.append(id)
url2= lookupURL + '&AWSAccessKeyId=' + aw...
iPage += 1
c=urllib2.urlopen(url2)
soup2=BeautifulSoup(c.read())
if iPage == 1:
totalPages = soup2('totalpages')
nPage = int(totalPages[0].contents[0])
#titles=soup2('title')
titles=soup2('author')
for title in titles:
goods=title.contents[0]
itemowners.setdefault(goods,[])
itemowners[goods].append(id)
out=file('amazon.txt', 'w')
out.write('Item')
for user in users: out.write('\t' + user)
out.write('\n')
for item,owners in itemowners.items():
if len(set(owners)) > 2:
out.write(item)
for user in users:
if user in owners: out.write('\t1')
else: out.write('\t0')
out.write('\n')
}}
** 嗜好のクラスタ分析 [#dbf3b830]
得られた著者とユーザの欲しいものリストのデータに対して、t...
クラスタ分析をします。
#pre{{
# -*- coding: utf-8 -*-
import japanese
import clusters
wants,people,data=clusters.readfile('amazon.txt')
clust=clusters.hcluster(data, distance=clusters.tanamoto)
clusters.drawdendrogram(clust, wants, png='amazon.png')
}}
分析結果は、以下の通りです。
&ref(amazon-UserAuthor.jpg);
- 恩田 睦、東野 圭吾は、ともに直木賞作家
- 勝間 和代、マーク 富岡、茂木健一郎、本田 直之、大前...
のグループもうまくまとまっている感じがします。
** コメント [#tbf261fc]
この記事は、
#vote(おもしろかった[8],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
ページ名:
SmartDoc