Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Ebay_amazon_price_comparison by Quarkie 2016
- require 'rubygems'
- require 'vacuum'
- require 'csv'
- require 'nokogiri'
- require 'mechanize'
- class Item
- def initialize url
- @url = url
- @price = 0
- puts "Item created"
- end
- def get_url
- @url
- end
- end
- class EbayItem < Item
- @@store = 'Ebay'
- end
- class AmazonItem < Item
- @@store = 'Amazon'
- end
- def csv_read(filename)
- array = []
- CSV.foreach(filename) do |row|
- array.push(row)
- end
- return array
- end
- def csv_write(filename,array)
- array.each do |row|
- CSV.open(filename, 'w') do |csv_object|
- csv_object << row
- end
- end
- end
- def amazon_item_lookup(item_id, node)
- request = Vacuum.new
- request.configure(
- aws_access_key_id: 'AKIAISQ2LYG7GJ76BCDA',
- aws_secret_access_key: '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',
- associate_tag: 'tag'
- )
- response = request.item_lookup(
- query: {
- 'ItemId' => item_id
- }
- )
- xml_search(response.body, node)
- end
- def xml_search(content, node="/")
- @doc = Nokogiri::XML(content)
- puts @doc.xpath(node)
- puts node
- end
- def amazon_browse_node(node_id)
- request = Vacuum.new
- request.configure(
- aws_access_key_id: '', # !!!!
- aws_secret_access_key: '', # !!!!!
- associate_tag: 'tag'
- )
- response = request.browse_node_lookup(
- query: {
- 'BrowseNodeId' => node_id.to_i
- }
- )
- response.to_h
- end
- def amazon_item_attributes(doc)
- @body = xml_search(doc, '//xmlns:ItemAttributes')
- @body
- end
- def ebay_find(keyword, *node)
- url ='http://svcs.ebay.com/services/search/FindingService/v1'
- $headers = {'X-EBAY-SOA-SECURITY-APPNAME' => 'LexQuark-Quarkie-PRD-ebff6a2ad-9a0198d4', 'X-EBAY-SOA-OPERATION-NAME' => 'findItemsAdvanced' }
- agent = Mechanize.new()
- $agent = ["Linux Firefox","Linux Konqueror","Linux Mozilla", "Mac Mozilla","Mac Safari"]
- agent.user_agent_alias = $agent.sample
- query = '<?xml version="1.0" encoding="UTF-8"?>
- <findItemsAdvancedRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
- <keywords>' + keyword.to_s + '</keywords>
- <paginationInput>
- <entriesPerPage>20</entriesPerPage>
- </paginationInput>
- </findItemsAdvancedRequest>'
- page = agent.post(url,query,$headers)
- # puts xml_search(page.content, '//xmlns:currentPrice')
- puts xml_search(page.content, '//xmlns:item')
- end
- #TODO
- #puts amazon_item_lookup('B01DFKC2SO', "//xmlns:ASIN")
- # puts amazon_item_lookup('B01DFKC2SO', "//xmlns:Item")
- #puts amazon_browse_node(549726)
- puts ebay_find('B01DFKC2SO')
- #amazon - item to node_id
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement