自动生成IMDb/Netflix/Amazon电影链接

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200美元免费额度!

之前在我的个人博客上,我创建了一个 末世电影列表。它只是一个供我自己参考的指南,用于跟踪我看过哪些电影和没看过的电影,但该页面对于其他也喜欢此子类型的用户来说可能也很有用。为了使列表真正有用,需要添加一些链接来对电影进行操作。我认为三个链接就足够了

  • Amazon: 购买电影
  • Netflix: 将电影添加到您的队列
  • IMDB: 了解有关电影的更多信息

一种向列表中的每部电影添加这些链接的方法是访问这些网站,找到电影,然后复制粘贴链接。但是对于几十部电影来说,这实在是一项繁重的工作。一定有更好的方法。

幸运的是,这些网站中的每一个都提供了一个接受URL参数的搜索页面。我们可以简单地将电影名称插入格式特殊的URL中,然后使用JavaScript将链接附加到我们的页面。

格式如下所示

http://www.amazon.com/s/ref=nb_ss_d?tag=chriscoyier-20&url=search-alias%3Ddvd&field-keywords=MOVIE-TITLE-HERE
http://www.netflix.com/Search?lnkctr=srchrd-ips&v1=MOVIE-TITLE-HERE
http://www.imdb.com/find?s=tt&q=MOVIE-TITLE-HERE

请注意,Amazon链接中包含我的联盟ID。为什么不呢?

自动插入

在我的文章中,我使用表格来展示电影列表。毕竟,它是有表格结构的数据。在我的表格中,我将每行最后一个单元格留空。使用JavaScript,我们将

  1. 循环遍历每一行
  2. 查找电影标题
  3. 根据电影标题构建URL
  4. 创建链接
  5. 将链接附加到最后一个空单元格
<script type="text/javascript" charset="utf-8">

  var movieText = '';

  $(function() {

	$("#movie-list tr td:first-child").each(function() {

		movieText = $(this).find("strong").text();

		netflixURL = "http://www.netflix.com/Search?lnkctr=srchrd-ips&v1=" + movieText;
		amazonURL = "http://www.amazon.com/s/ref=nb_ss_d?tag=chriscoyier-20&url=search-alias%3Ddvd&field-keywords=" + movieText;
		imdbURL = "http://www.imdb.com/find?s=tt&q=" + movieText;

		$(this).parent().find("td:last-child").empty().append("<a class='out-link netflix-link' href='"+netflixURL+"'>Netflix Link</a><a class='out-link amazon-link' href='"+amazonURL+"'>Amazon Link</a><a class='out-link imdb-link' href='"+imdbURL+"'>IMDb Link</a>");

	});

  });

</script>