首页 > 其他分享 >百度基木鱼产品中心批量复制上传

百度基木鱼产品中心批量复制上传

时间:2024-08-08 22:17:01浏览次数:12  
标签:木鱼 批量 上传 image json details data page append

import pandas as pd
import requests


def fetch_page_data(page_num):
    cookies = "替换浏览器cookie"

    headers = {
        "Accept": "application/json, text/plain, */*",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cache-Control": "no-cache",
        "Connection": "keep-alive",
        "Content-Type": "application/json;charset=UTF-8",
        "Origin": "https://isite.baidu.com",
        "Pragma": "no-cache",
        "Referer": "https://isite.baidu.com/",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-site",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
        "sec-ch-ua": ""Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": ""Windows"",
    }

    params = {
        "reqid": "浏览器的reqid",
    }

    json_data = {
        "dataType": 0,
        "userId": "自己的数据",
        "siteId": "自己的数据",
        "pagination": {
            "pageNum": page_num,
            "pageSize": 12,
        },
        "uniqId": "自己的数据",
        "selectCateId": None,
    }

    response = requests.post(
        "https://jzapi.baidu.com/mini/reset/pcsite/getProductList",
        params=params,
        cookies=cookies,
        headers=headers,
        json=json_data,
    )
    return response


def get_category_name_by_id(categories, category_id):
    for category in categories:
        if category["id"] == category_id:
            return category["name"]
    return None


def calculate_total_pages(total_items, items_per_page=12):
    return (total_items + items_per_page - 1) // items_per_page


def main():
    short_titles = []
    long_titles = []
    categories = []
    image_4_3 = []
    image_1_1 = []
    text_details = []
    image_details = []
    rich_text_details = []
    tags = []

    response = fetch_page_data(1)
    total_pages = calculate_total_pages(response.json()["data"]["totalNum"])

    for i in range(total_pages):
        response = fetch_page_data(i + 1)
        products = response.json()["data"]["list"]

        for product in products:
            short_titles.append(product["productTitle"])
            long_titles.append(product["productTitle"])
            categories.append(get_category_name_by_id(response.json()["data"]["cateList"], product["categoryId"]))

            images_4_3 = product["image"][0]["value"]
            image_4_3.append(";".join(img["url"] for img in images_4_3))

            images_1_1 = product["image"][1]["value"]
            image_1_1.append(";".join(img["url"] for img in images_1_1))

            text_details.append("")
            image_details.append(product["content"])
            rich_text_details.append("")
            tags.append(";".join(product["productExt"]["tags"]))

    data = {
        "产品短标题": short_titles,
        "产品长标题": long_titles,
        "产品分组": categories,
        "图片 - 横版图4:3": image_4_3,
        "图片 - 方形图1:1": image_1_1,
        "产品详情-文本": text_details,
        "产品详情-图片": rich_text_details,
        "产品详情-图文": image_details,
        "卖点标签": tags
    }

    df = pd.DataFrame(data=data)
    df.to_excel("商品导出.xlsx", index=False)


if __name__ == "__main__":
    main()

标签:木鱼,批量,上传,image,json,details,data,page,append
From: https://www.cnblogs.com/lwm3/p/18349858

相关文章

  • 我们推出了可能是全网最全的抠图方法?AI智能抠图、AI去背景以及批量去背景
    你还在用PS辛苦抠图做素材吗?又麻烦,速度义慢,效果可能还不好!为了让大家更高效的进行抠图,我们推出了可能是全网最全的抠图方法?AI智能抠图、AI去背景以及批量去背景。不用打开PS,选中电脑图片,AIt+F,打开AI智能抠图,鼠标左键点选,智能识别物体边缘,出现绿色小点点在上面,无论多复杂的背......
  • Mac OS 批量将Java编码iso-8859-1( english_us8859)转换为utf-8格式
    !/bin/bash#指定源目录SOURCE_DIR="./serialMonitor"#遍历源目录下所有.java文件functionconvert_to_utf8(){localfile="$1"encoding=`file-I${file}|awk-F='{print$2}'`echo"encoding:$encoding"if[[&qu......
  • git前端上传项目忽略本地node_modules文件
    要在Git上传前端代码时忽略node_modules文件夹在项目根目录下查找或创建.gitignore文件:如果你的项目中已经存在.gitignore文件,则打开它进行编辑。如果不存在,就在项目根目录下创建一个新的.gitignore文件。在.gitignore文件中添加node_modules/:打开.gitignore文件,并添加......
  • 七牛云私有空间图片上传、下载
    导航引言总体思路七牛云相关的配置文件获取七牛云上传token相关类定义核心代码实现获取七牛云图片下载链接公开空间私有空间核心代码实现结语参考引言我们在成长,代码也要成长。多媒体图片在各种网站、小程序和app中应用广泛,同时也大大增强了用户体验。......
  • Spring Boot 3 + MinIO集群 + Nginx 负载均衡 实现图片(头像)的上传 + 更新替换 + 下载
    1.容器准备1.1容器结构 1.2启动容器1.3docker-compose.ymlversion:'3.8'#指定DockerCompose文件的版本,这里使用版本3.8services:minio1:image:minio/minio:latest#使用最新的MinIO镜像来创建MinIO服务的容器volumes:-./data1......
  • 使用QNetworkAccessManager实现FTP上传下载功能
    自己写了一份FTP的代码,可以上传下载单文件,上传下载多文件,上传目录所有文件,但是下载目录的功能有问题,接口里代码规范也没做(如果有大佬提供修改方案就更好了),代码直接复制可用,留给有需要的人。#pragmaonce#include<QObject>#include<QNetworkReply>#include<QNetworkAcce......
  • 2024宝塔批量建站搭建易优cms_易优批量上站
     宝塔全自动搭建易优cms批量建站 软件教程文本:大家好,这里是好主题网nbzhuti.cnQQ:822674928今天给大家带来的是易优cms批量建站首先我们要准备宝塔,开启宝塔api,然后相关信息填写到config.iniconfig.ini里面可以填写其他的配置项比如:php版本网站的用户名,密码,伪静态这......
  • Linux系统下通过ssh免密实现一键批量关机
     一、实验环境介绍本文通过一台控制端机器对其他多台机器进行远程关机操作,实验IP如下:控制端:192.168.80.177被控制关机端:192.168.80.130,192.168.80.206二、ssh免密登录配置以下操作均在控制端(80.177)上用root用户权限进行操作1、生成私钥密钥对,执行ssh-keygen -t rsa然......
  • wordpress教程栏目给大家介绍自定义wordpress文件上传路径的方法
    自WordPress3.5版本开始,隐藏了后台媒体设置页面的“默认上传路径和文件的完整URL地址”选项,可以通过下面的代码将该选项调出来。将下面的代码添加到当前主题functions.php文件中,就可以调出该选项:if(get_option(&#39;upload_path&#39;)==&#39;wp-content/uploads&#39;||get_op......
  • 利用miniprogram-ci工具实现一键上传微信小程序代码
    本文由ChatMoney团队出品利用miniprogram-ci工具在后台实现一键上传微信小程序代码,避免了微信开发者工具的繁琐。一、部署node环境我用的是宝塔,可以直接在宝塔上安装Node.js版本管理器二、安装miniprogram-cinpminstallminiprogram-ci--save安装在指定文件夹里,这个......