Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

クリックポスト追跡番号一括読み込み(準備編)

More than 3 years have passed since last update.

動機

Amazonのセラーセントラルに、クリックポストの追跡番号を1つ1つ入力する仕事に嫌気が差し、精神崩壊する前に自動化を図った。

概要

本内容は以下の2部構成です。

①クリックポストのページで追跡番号リストを半自動ダウンロード
②Amazonのセラーセントラルで追跡番号リストを読み込み、自動入力

当ページでは、①のダウンロードスクリプトを記載します。

②をご覧になる方は、クリックポスト追跡番号一括読み込み(実行編) からどうぞ。

使い方

1.Tampermonkeyをインストール

2.クリックポストのトップページに「番号取得」のボタンが追加されるので、クリック

31.jpg

3.表示しているページの「お問い合わせ番号」と「お届け先氏名」がセットになったテキストデータのダウンロードが開始される
※ファイル名は「clickpost*.txt」。(*)はページ番号。

4.同時に、クリックポストの次ページへ自動で移動する

5.必要なページ数の分だけ、手順2~4を、繰り返す(手順3、4は自動)

(注意)手動でページ移動をした場合、「番号取得」ボタンが消えます。その場合、ページのリロードをお願いします。また、ソートした場合は、動作いたしません。

スクリプト

// ==UserScript==
// @name         Click Post Tracking Number
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://clickpost.jp/mypage/index*
// @grant        none
// @require      http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// ==/UserScript==


function getTrackingNumber(){

    var TrackingNumber = [];
    var Name = [];

    // お問い合わせ番号を取得
    $('.col_package_number > a').each(function(){
        TrackingNumber.push($(this).text());
    });
    TrackingNumber.shift();

    // 名前を取得
    $('.col_receiver > a').each(function(){
        Name.push($(this).text());
    });
    Name.shift();

    // 現在のページ数を取得
    var FileName = $('.page.current').text();
    FileName = FileName.replace(/\n/g, '');

    if(TrackingNumber.length != Name.length){
        alert('番号と名前の数が不正です。');
    }

    // 出力データ作成
    var out_data = '';
    for(var i = 0; i < TrackingNumber.length; i++){
        out_data += TrackingNumber[i] + ',' + Name[i] + '\r\n';
    }

    // データダウンロード
    $('<a>', {
        href: 'data:text/plain,' + encodeURIComponent(out_data),
        download: 'clickpost' + FileName + '.txt'
    })[0].click();

    // 次ページへ移動
    window.location.href = $('a[rel="next"]').attr('href');
}


(function() {
    'use strict';
    // ボタンを設置
    var div_element = $('<div></div>');
    div_element.addClass('nav_item');
    div_element.html('<input aria-disabled="false" class="button navi_button ui-button ui-widget ui-state-default ui-corner-all button-blue limited" role="button" type="button" value="番号取得">');
    div_element.insertBefore($('#nav_box > div:nth-child(5)'));
    div_element.on('click', function(){
        getTrackingNumber();
    });

})();
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away