PinganGetData

获取业务数据

// ==UserScript==
// @name         PinganGetData
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  获取业务数据
// @author       DuJian
// @license      GNU GPLv3
// @match        *://*.taobao.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=taobao.com
// @grant        none
// ==/UserScript==

(function () {
  // "use strict";
  //先导入jq
  var script = document.createElement("script");
  (script.src = "https://code.jquery.com/jquery-3.0.0.min.js"),
    document.head.appendChild(script);
  //画一个控制面板 里面加按钮
  var dataarr = [];
  var dataarr2 = [];
  drawdiv();
  drawinputbox();
  getDatabtn(); //获取数据的按钮
  addButton(); //发送请求的按钮
  turnpagebtn(); //发送请求的按钮

  var thehttpurl = window.location.href;
  var searchurlOff = false;
  if (thehttpurl.indexOf("s.taobao.com/search")) {
    //匹配s.taobao
    searchurlOff = true;
  }
  console.log(thehttpurl, "thehttpurl");
  //画控制面板
  function drawdiv() {
    var mydiv = document.createElement("div");
    // 设置属性
    mydiv.setAttribute("id", "myDiv");
    mydiv.setAttribute("class", "myClass");
    mydiv.setAttribute(
      "style",
      "width: 250px; min-height: 250px; background-color: gray;display:flex;flex-direction: column;justify-content:center;align-items:center;position:fixed;top:25%;right:8%;z-index:999999999"
    );
    document.body.appendChild(mydiv);
  }

  //画输入关键词
  function drawinputbox() {
    // 创建一个新的input元素作为搜索框
    var searchInput = document.createElement("input");
    searchInput.type = "text";
    searchInput.placeholder = "请输入搜索内容...";
    searchInput.className = "search-input";
    searchInput.setAttribute(
      "style",
      "width: 100px;height: 25px;outline: none;"
    );

    // 创建一个新的button元素作为搜索按钮
    var searchButton = document.createElement("button");
    searchButton.textContent = "搜索";
    searchButton.className = "search-button";
    searchButton.setAttribute(
      "style",
      "width: 50px;height: 25px;outline: none;border: navajowhite;line-height: 25px;text-align: center;"
    );
    searchButton.addEventListener("click", function () {
      // 在这里处理搜索事件,比如发送请求到服务器
      var tbsinputbox = document.getElementById("J_Search");
      var tbsinput = tbsinputbox.getElementsByTagName("input")[0];
      var tbsbutton = tbsinputbox.getElementsByTagName("button")[0];
      console.log(tbsinput.value);
      tbsinput.value = searchInput.value;
      tbsbutton.click();
      // alert("搜索内容: " + searchInput.value);
    });

    // 创建一个包裹元素来容纳输入框和按钮
    var searchWrapper = document.createElement("div");
    searchWrapper.className = "search-wrapper";
    // 将搜索框和按钮添加到包裹元素中
    searchWrapper.appendChild(searchInput);
    searchWrapper.appendChild(searchButton);
    var Paneldiv = document.getElementById("myDiv");
    Paneldiv.appendChild(searchWrapper);
  }
  //发送请求的按钮
  function addButton() {
    var newButton1 = document.createElement("button");
    newButton1.setAttribute("id", "myButton");
    newButton1.innerHTML = "发送请求";
    // 可选:为按钮添加一些样式
    newButton1.style.cssText = "color: black; padding: 10px;margin-top:15px";
    var Paneldiv = document.getElementById("myDiv");

    // 将新创建的按钮添加到div中
    Paneldiv.appendChild(newButton1);
  }
  //获取数据的按钮
  function getDatabtn() {
    // 创建一个新的按钮元素
    var newButton2 = document.createElement("button");
    newButton2.setAttribute("id", "getdata");
    newButton2.innerHTML = "获取数据";
    newButton2.style.cssText = "color: black; padding: 10px;margin-top:15px";
    var Paneldiv = document.getElementById("myDiv");

    Paneldiv.appendChild(newButton2);
  }
  //自动翻页按钮?
  function turnpagebtn() {
    // 创建一个新的按钮元素
    var newButton3 = document.createElement("button");
    newButton3.setAttribute("id", "turnpage");
    newButton3.innerHTML = "自动翻页";
    newButton3.style.cssText = "color: black; padding: 10px;margin-top:15px";
    var Paneldiv = document.getElementById("myDiv");
    Paneldiv.appendChild(newButton3);
  }

  // 获取数据按钮元素
  var getdataButton = document.getElementById("getdata");
  getdataButton.addEventListener("click", function () {
    console.log("获取数据!");
    if (searchurlOff) {
      //s.taobao
      let searchDiv = document.getElementsByClassName(
        "Content--contentInner--QVTcU0M"
      )[0];
      console.log(searchDiv, "searchDiv");
      let selements = searchDiv.getElementsByTagName("div");
      console.log(selements);
      dataarr = selements;
      for (let index = 0; index < selements.length; index++) {
        const item = selements[index];
        let obj = {
          baseURI: item.baseURI,
          innerText: item.innerText,
          innerHTML: item.innerHTML,
        };
        dataarr2.push(obj);
      }
      console.log(dataarr2);
    } else {
      let elements = document.getElementsByClassName("pc-items-item");
      console.log(elements);
      dataarr = elements;
      for (let index = 0; index < elements.length; index++) {
        const item = elements[index];
        let obj = {
          baseURI: item.baseURI,
          innerText: item.innerText,
          innerHTML: item.innerHTML,
        };
        dataarr2.push(obj);
      }
      console.log(dataarr2);
    }
  });

  // 获取数据按钮元素
  var turnpageButton = document.getElementById("turnpage");
  turnpageButton.addEventListener("click", function () {
    autoturnpage();
  });

  //实现自动翻页 - 下一页
  //因为会出现验证码固定时间翻页-生成随机数 翻页
  function getRandomInt(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min + 1)) + min;
  }

  let randomInt = getRandomInt(1500, 38000);
  console.log(randomInt, "randomInt");
  function autoturnpage() {
    console.log("启动自动翻页");
    if (searchurlOff) {
      var snextpagediv = document.getElementsByClassName(
        "next-pagination-pages"
      )[1];
      var nextpage = snextpagediv.getElementsByClassName("next-next");
      console.log(nextpage, "nextpage");
      if (nextpage) {
        setInterval(() => {
          nextpage[0].click();
          getdataButton.click();
          // setInterval(() => {
          //   // 滚动到指定位置
          //   window.scrollTo(100, randomInt * 10 + Math.floor(Math.random())); // 滚动到(x:100, y:500)位置
          // }, 7500);
        }, randomInt);
      }
    } else {
      var mynextpagediv = document.getElementById("J_pc-search-page-nav");
      var mynextpage = mynextpagediv.getElementsByTagName("span");
      if (mynextpage) {
        setInterval(() => {
          mynextpage[2].click();
          setInterval(() => {
            // 滚动到指定位置
            window.scrollTo(100, randomInt * 10 + 2); // 滚动到(x:100, y:500)位置
          }, 7500);
        }, randomInt);
      }
    }
  }
  // 获取请求按钮元素
  var myButton = document.getElementById("myButton");
  // 添加点击事件监听器
  myButton.onclick = function () {
    // alert("Hello, World!");
    // 准备要发送的数据
    // const data = new FormData();
    // data.append("username", username);
    // data.append("password", password);
    // 发送POST请求
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://znz.saicjg.com/api/auth/verifyCode", true);

    xhr.onload = function () {
      if (this.status === 200) {
        // 请求成功,处理响应数据
        console.log('响应成功:',this.responseText);
      } else {
        // 请求失败
        console.error("Request failed.  Returned status of " + this.status);
      }
    };

    xhr.onerror = function () {
      // 网络错误
      console.error("Network Error");
    };

    xhr.send();
    /* fetch(
      "https://znz.saicjg.com/api/auth/verifyCode",
      {
        method: "GET", // 指定请求方法为POST
        body: "", // 将表单数据作为请求体发送
        headers: {
          "Content-Type": "application/x-www-form-urlencoded", // 设置请求头,告诉服务器发送的是表单数据
        },
      }
    )
      .then((response) => {
        // 检查响应是否成功
        if (!response.ok) {
          throw new Error("网络响应不是ok");
        }
        // 处理响应数据,例如返回JSON格式的数据
        return response.json();
      })
      .then((data) => {
        // 在这里处理服务器返回的数据
        console.log("发送成功:", data);
        alert("请求成功!");
      })
      .catch((error) => {
        // 处理请求过程中出现的错误
        console.error("发送成功:", error);
        alert("请求失败,请稍后再试。");
      }); */
  };

  
})();

QingJ © 2025

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