自作Pythonその3 - Amazonの商品検索プログラム
11841 ワード
痒いところに手が届く範囲がすきなんです。
index = "All" のジャンル指定は以下のリンク先で確認してください。
商品カテゴリーの指定(SearchIndex)
これ結構さいつよだと思います。
import bottlenose
from bs4 import BeautifulSoup
import webbrowser
class Content:
pass
class Amazon():
def __init__(self):
AMAZON_ACCESS_KEY_ID = ""
AMAZON_SECRET_KEY = ""
AMAZON_ASSOC_TAG = ""
self.amazon = bottlenose.Amazon(AMAZON_ACCESS_KEY_ID, AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG, Region="JP")
def search(self,query,index="All"):# index = Videoなどジャンル
response = self.amazon.ItemSearch(SearchIndex=index, Keywords=query, ItemPage=1, ResponseGroup="Large")
xml = response.decode('utf-8','strict')
soup = BeautifulSoup(xml, "html5lib")
data = soup.findAll('item')
for d in data:
url = d.detailpageurl.text
title = d.title.text.replace("[","【").replace("]","】")
con = Content()
con.asin = d.asin.text
con.amazonjs= '[amazonjs asin="%s" locale="JP"]' % d.asin.text
con.title = title
con.url = url
con.link = '<a href="%s">%s</a>' % (url,title)
con.price = d.formattedprice.text
con.img = d.largeimage.url.text
yield con
class SelectAmazon():
def __init__(self,query,index="All"):
data = list(Amazon().search(query,index=index))
while True:
for i,datum in enumerate(data):
print("%s:%s" % (i,datum.title))
try:
put = int(input('番号を選択:'))
break
except:
continue
self.asin = [datum.asin for datum in data][put]
self.title = [datum.title for datum in data][put]
self.url = [datum.url for datum in data][put]
self.price = [datum.price for datum in data][put]
self.img = [datum.img for datum in data][put]
self.amazonjs = [datum.amazonjs for datum in data][put]
self.link = [datum.link for datum in data][put]
def main():
A = SelectAmazon(input("検索ワード:"),index="All")
webbrowser.open(A.url)
if __name__ == '__main__':
main()
Author And Source
この問題について(自作Pythonその3 - Amazonの商品検索プログラム), 我々は、より多くの情報をここで見つけました https://qiita.com/hitoribucho/items/13a626bc268a9e4b592d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .