Amazon图书文件名

生成 Amazon 网站图书的文件名

目前为 2022-11-13 提交的版本。查看 最新版本

// ==UserScript==
// @name         Amazon图书文件名
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  生成 Amazon 网站图书的文件名
// @author       wenmin92
// @match        https://www.amazon.com/*/dp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=amazon.com
// @grant        none
// @require      https://code.jquery.com/jquery-3.6.1.min.js
// @license      MIT
// ==/UserScript==

(function () {
  'use strict';

  console.log('Tampermonkey', '='.repeat(120));
  console.log('Amazon图书文件名');
  console.log('Tampermonkey', '='.repeat(120));

  const title = $('#productTitle').text().replace(/(,|\(|\w+ edition).*/i, '').trim().replace(/:\s*/g, ' - ').replace(/\s+/g, ' ');
  console.log('title', title);
  const author = $('#bylineInfo .author>a, #bylineInfo .author a.contributorNameID').toArray().map(it => $(it).text().trim()).join(', ');
  console.log('author', author);
  const publishInfo = $('#detailBullets_feature_div li>span:contains("Publisher") :last-child').text().trim();
  const publisher = publishInfo.split(/;|\(/)[0]?.replace(/\b(publi|press|media).*/i, '').trim();
  const edition = publishInfo.match(/(\d+(?:st|nd|rd|th))\s+(?:ed\.|edition)/i)?.[1]?.concat(' Edition') ?? '';
  const dateStr = publishInfo.match(/\((\w+ \d{1,2}, \d{4})\)/)?.[1];
  const date = dateStr ? new Date(dateStr) : null;
  const dateFormatted = date ? `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` : '';
  const dateMonth = date ? `${date.getFullYear()}.${date.getMonth() + 1}` : '';
  console.log('publishInfo', `${publisher}; ${edition}; ${dateFormatted}`);
  const pages = $('#detailBullets_feature_div li>span:contains("Paperback") :last-child').text().trim().match(/(\d+)\s+pages/i)?.[1] ?? '';
  console.log('pages', pages);
  const isbn = $('#detailBullets_feature_div li>span:contains("ISBN-13") :last-child').text().trim().replace(/-/g, '');
  console.log('isbn', isbn);

  const bookName = `${title}, ${edition ? `${edition}, `: ''}${author}, ${publisher}, ${dateMonth}, ${pages}P`;
  const bookNameHtml = `<p>
    <span style="font-weight:bold;user-select:none">BookName: </span>
    <span style="user-select:all">${bookName}</span>
  </p>`;

  $('#averageCustomerReviews_feature_div').after(bookNameHtml);
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址