3

我有几百本书的清单。有没有办法将它们批量转换为 Amazon.com ASIN 代码?我意识到我可以一个一个地手动完成,但我没有那种耐心或时间。我知道有一些 ISBN 到 ASIN 转换器,但我没有 ISBN。

谢谢。

4

2 回答 2

1

我会使用亚马逊产品广告 API ItemSearch API(请参阅文档:http ://docs.amazonwebservices.com/AWSECommerceService/2010-11-01/DG/ItemSearch.html )

在形成您的请求时,您将需要传递一些参数,例如“Title”、“SearchIndex”(在您的情况下为“Books”)和额外的强制参数(注意,您可以尝试添加更多请求参数,例如“Author ”或“关键字”来微调您的查询)。

如果您搜索“The Bad Beginning”(由 Lemony Snicket 提供),请求 URL 将如下所示:

http://ecs.amazonaws.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
Operation=ItemSearch&
Title=The%20Bad%20Beginning&
SearchIndex=Books
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]

可以包含 0 到 n 个项目的响应将如下所示:

<TotalResults>111</TotalResults>
<TotalPages>12</TotalPages>
<Item>
  <ASIN>006029809X</ASIN>
  <DetailPageURL>http://www.amazon.com/dp/006029809X</DetailPageURL>
  <ItemAttributes>
    <ProductGroup>Books</ProductGroup>
    <Title>The Trouble Begins: A Box of Unfortunate Events, Books 1-3 
    (The Bad Beginning; The Reptile Room; The Wide Window)</Title>
  </ItemAttributes>
</Item>
<Item>
  <ASIN>006075589X</ASIN>
  <DetailPageURL>http://www.amazon.com/dp/006075589X</DetailPageURL>
  <ItemAttributes>
    <ProductGroup>Books</ProductGroup>
    <Title>The Bad Beginning</Title>
  </ItemAttributes>
</Item>
...

然后,您可以解析 XML 以获取所需的信息(在您的情况下为 ASIN)。

几句警告:

  • 不要期望结果是 100% 正确的。您肯定必须手动清理结果。
  • 如果您在 XML 响应中获得一个或多个项目,第一个结果可能不是您期望的书(请参阅上面的响应:响应中的第一个项目实际上对应于一个包含您正在寻找的书的框集。 ..)。
  • 您可以尝试执行一些后处理以将您的标题与 ItemSearch API 返回的每个项目的标题进行比较,但是任何微不足道的比较(例如测试相同的“确切标题”)都会产生大量的假阴性,因为亚马逊数据库中的拼写错误或不一致。
  • 即使您的标题与响应中的一个项目完全匹配,ASIN 也可能对应于不同的书(相同的标题,不同的作者),不同的版本(您有一本第 4 版教科书,但亚马逊返回信息关于第 8 版)或不同的装订本(您有平装本,但亚马逊返回精装版)。
于 2011-04-22T21:02:57.540 回答
0

这有点老了,但也许有人仍然感兴趣。有一个Perl 包 可以为你做这件事。

于 2013-02-13T17:06:53.763 回答