Greasy Fork is available in English.
导出拼多多订单信息
// ==UserScript==
// @name 拼多多导出訂單油猴脚本 PDD order lists export to excel GreaseMonkey script
// @namespace https://www.pinduoduo.com/
// @version 1.5
// @description 导出拼多多订单信息
// @author ForkedFrom吾愛破解yiqifeng
// @match https://mobile.yangkeduo.com/orders.html*
// @match https://mobile.pinduoduo.com/orders.html*
// @grant GM_download
// @run-at document-end
// @license MIT
// ==/UserScript==
const $ = (selector) => document.querySelector(selector);
$('body').insertAdjacentHTML('beforeend', '<div class="pdd-go-to-app" id="export">导出数据</div>');
$('#export').addEventListener('click', startScrolling);
function startScrolling() {
let scrollInterval = setInterval(function () {
let text = $('.rbl-loading-text').textContent;
console.log(text);
if (text === "没有更多了...") {
clearInterval(scrollInterval);
fetchDataAndExport();
}
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
}, 800);
}
function fetchDataAndExport() {
let order = [];
let listOrder = [...$('#base-list0>.react-base-list').children];
listOrder.forEach(row => {
order.push(row.innerText.split('\n\n'));
});
exportToCSV(order);
}
function exportToCSV(order) {
let orderlist = '店铺名称,交易状态,商品名称,型号分类,价格,数量,实际付款\r\n';
order.forEach(row => {
console.log(row);
let isPrice = row[3] && row[3].charAt(0) === "¥";
row = row.map(cell => cell.replace(/\r|\n|\r\n|\n\r|\t|,|¥/ig, ""));
if (isPrice) {
let priceMatch = row[3].match(/(\d+\.?\d*)(×|x)(.*)/);
let price = priceMatch ? [priceMatch[1], priceMatch[3]] : [row[3], ''];
let fields = [row[0], row[1], row[2], 'null', price[0], price[1], row[5]];
orderlist += fields.join(',') + '\r\n';
} else {
let priceMatch = row[4].match(/(\d+\.?\d*)(×|x)(.*)/);
let price = priceMatch ? [priceMatch[1], priceMatch[3]] : [row[4], ''];
let fields = [row[0], row[1], row[2], row[3], price[0], price[1], row[6]];
orderlist += fields.join(',') + '\r\n';
}
});
const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(orderlist);
const link = document.createElement("a");
link.href = uri;
link.download = '拼多多订单数据.csv';
link.click();
}