BAIXAR LISTA DE PRE?OS E PRODUTOS DA INTERNET

BRESSAN 26/07/2016 19:54:28
#465166
Pessoal boa noite,

Estou trabalhando com dados não normalizados, e penso em baixar informações de preços de um site, por exemplo a netshoes.
Gostaria de uma ajuda(introdução) de como poderia ser feito isso, ou se alguém já projetou algo do tipo, poderia me dar umas dicas de como começar.

Att,
Marcelo Bressan
KERPLUNK 26/07/2016 20:25:10
#465167
Simples, use o SDK disponível aqui
KERPLUNK 28/07/2016 22:06:23
#465237
E então ajudou?
JOAOBENEVIDES 29/07/2016 08:38:50
#465260
kerplung voce achou algo para os markplace cnova e 2bw voce tem algo ?
KERPLUNK 29/07/2016 18:08:09
#465289
Não encontrei nenhuma SDK pronta para esses, mas suponho que eles possuam uma WebAPI, não?
JOAOBENEVIDES 15/08/2016 08:17:08
#465825
nao eles trabalham como ti falei, com um manual no qual voce dele chamar enviar informação
KERPLUNK 15/08/2016 17:14:59
#465846
Tenho quase certeza que foi pra você que mandei um exemplo consultando e cadastrando produtos para uma tal de CNova. Se não foi pra você, esclareço que é sim uma WebAPI baseada em Token de acesso. E é o mesmíssimo procedimento como para qualquer WebAPI. Você cria as classes com a estrutura dos retornos e envios, usa um HttpClient para enviar e receber dados. Como eu sei que explicar isso não vai adiantar muito e você vai precisar de algo para ver, aqui vai:
Classes para os dados:

public class Produto
{
public string skuId { get; set; }
public string skuSellerId { get; set; }
public string productSellerId { get; set; }
public string title { get; set; }
public string description { get; set; }
public string brand { get; set; }
public string[] gtin { get; set; }
public string[] categories { get; set; }
public string[] images { get; set; }
public string[] videos { get; set; }
public Price price { get; set; }
public Stock stock { get; set; }
public Dimensions dimensions { get; set; }
public Giftwrap giftWrap { get; set; }
public Attribute[] attributes { get; set; }
public Error[] errors { get; set; }
}

public class Price
{
public double? offer { get; set; }
public double? _default { get; set; }
}

public class Stock
{
public double? quantity { get; set; }
public double? crossDockingTime { get; set; }
}

public class Dimensions
{
public double? weight { get; set; }
public double? length { get; set; }
public double? width { get; set; }
public double? height { get; set; }
}

public class Giftwrap
{
public object available { get; set; }
public object value { get; set; }
public object messageSupport { get; set; }
}

public class Attribute
{
public string name { get; set; }
public string value { get; set; }
}

public class Error
{
public string code { get; set; }
public string type { get; set; }
public string message { get; set; }
public string skuSellerId { get; set; }
}


Buscando um produto:

private async void button2_Click(object sender, EventArgs e)
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri([Ô]https://desenvolvedores.cnova.com/api-portal/proxy/api/v2/loads/products/[Ô]);

client.DefaultRequestHeaders.Add([Ô]client_id[Ô], [Ô]SEU CLIENT ID VAI AQUI[Ô]);
client.DefaultRequestHeaders.Add([Ô]access_token[Ô], [Ô]SEU ACCESS TOKEN VAI AQUI[Ô]);
var resposta = await client.GetAsync([Ô]99[Ô]); //o 99 aqui se refere à qual produto está buscando
string dados = await resposta.Content.ReadAsStringAsync();

Produto produto = new JavaScriptSerializer().Deserialize<Produto>(dados);
//daqui em diante trabalhe com o objeto [Ô]produto[Ô], usando suas propriedades, como por exemplo:

txtCodigo.Text = produto.productSellerId.ToString();
txtDescrição.Text = produto.description;
txtTitulo.Text = produto.title;
txtComprimento.Text = produto.dimensions.length == null ? [Ô]0[Ô]: produto.dimensions.length.ToString();
txtLargura.Text = produto.dimensions.width == null ? [Ô]0[Ô] : produto.dimensions.width.ToString();
txtPeso.Text = produto.dimensions.weight == null ? [Ô]0[Ô] : produto.dimensions.weight.ToString();
txtAltura.Text = produto.dimensions.height == null ? [Ô]0[Ô] : produto.dimensions.height.ToString();


}
}


Prevendo o que você vai dizer em seguida, logo após copiar e colar o código, que seria [Ô]Está dando erro[Ô], você precisa adicionar no projeto as referências:
System.Net.Http
System.Net.Http.Formatting
System.Web.Extensions
Faça seu login para responder