{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import requests\n", "import json\n", "import xlrd\n", "from pprint import pprint\n", "cookies_str = 'f6-ids-goodsSESSIONID=0b378941-65f1-4ec2-8852-fd6bc499576d; erpLanguage=zh-CN; prodOrg=11240984669917816032; unp=15721517460790206472; _up=-NillNN-qyBEJ--t3vnSknvoOF54z_CIscoB1Xs4U-dfVvfFoJvQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbrHfsXqYkl1wEF-fFRv-ZNHu3M-GTc2ZqwEHavqutVjuIaklbFOhRtrEj90BS_prS1PQQ.; tmall=false; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2215721517460790206472%22%2C%22first_id%22%3A%2217e08ece80f53a-0448dc86383ae5-3e604809-1327104-17e08ece81094e%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fyunxiu.f6car.com%2Ferp%2Fview%2Findex.html%22%7D%2C%22%24device_id%22%3A%2217e08ece80f53a-0448dc86383ae5-3e604809-1327104-17e08ece81094e%22%7D'\n", "\n", "cookies_str = cookies_str.encode('utf-8').decode('latin-1')\n", "\n", "cookie_dict = {item.split('=')[0]: item.split('=')[1]\n", " for item in cookies_str.split('; ')}\n", "\n", "headers = {\n", " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40',\n", " \"Content-Type\": \"application/json\",\n", " 'origin': 'https://yunxiu.f6car.cn'\n", "}\n", "#读取excel文件\n", "\n", "df = pd.read_excel(r'C:\\Users\\杨国栋\\Desktop\\修改.xls',sheet_name='Sheet4',dtype='string')\n", "for item in df.index:\n", " mid= df.loc[item,'材料ID']\n", " Cid= df.loc[item,'材料编码']\n", " name= df.loc[item,'材料名称']\n", " brand= df.loc[item,'品牌']\n", " if pd.isna(brand):\n", " brand =''\n", " supplierCode= df.loc[item,'零件号']\n", " if pd.isna(supplierCode):\n", " supplierCode =''\n", " spec= df.loc[item,'规格型号']\n", " if pd.isna(spec):\n", " spec =''\n", " applyModel= df.loc[item,'适用车型']\n", " if pd.isna(applyModel):\n", " applyModel =''\n", " #get材料属性\n", " url = 'https://ids-goods.f6car.cn/f6-ids-goods/part/getPartInfo?partId={}'.format(mid)\n", "\n", " res = requests.get(url,cookies=cookie_dict)\n", " strele = res.json()\n", " \n", " strele['data']['name'] = name#修改内容\n", " strele['data']['brand'] = brand#修改内容\n", " strele['data']['supplierCode'] = supplierCode#修改内容\n", " strele['data']['spec'] = spec#修改内容\n", " strele['data']['applyModel'] = applyModel#修改内容\n", "\n", " #修改值读取\n", " res = requests.post(f'https://ids-goods.f6car.cn/f6-ids-goods/part/updatePartInfo', timeout=None,headers=headers,cookies=cookie_dict, json=strele['data'])\n", " re=res.json()\n", " print(item+1,Cid,mid,re['message'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 获取材料ID" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:\n", "c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\.libs\\libopenblas.EL2C6PLE4ZYW3ECEVIV3OXXGRN2NRFM2.gfortran-win_amd64.dll\n", "c:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\numpy\\.libs\\libopenblas64__v0.3.21-gcc_10_3_0.dll\n", " warnings.warn(\"loaded more than 1 DLL from .libs:\"\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m", "\u001B[1;31mKeyboardInterrupt\u001B[0m Traceback (most recent call last)", "\u001B[1;32m\u001B[0m in \u001B[0;36m\u001B[1;34m\u001B[0m\n\u001B[0;32m 41\u001B[0m }\n\u001B[0;32m 42\u001B[0m \u001B[0murl\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;34m'https://ids-goods.f6car.com/f6-ids-goods/part/getExactPartStockInfo'\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 43\u001B[1;33m \u001B[0mres\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mrequests\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mpost\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0murl\u001B[0m\u001B[1;33m,\u001B[0m\u001B[0mcookies\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mcookie_dict\u001B[0m\u001B[1;33m,\u001B[0m\u001B[0mheaders\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mheaders\u001B[0m\u001B[1;33m,\u001B[0m\u001B[0mjson\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mjson\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 44\u001B[0m \u001B[0mstrele\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mres\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mjson\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 45\u001B[0m \u001B[0mle\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mlen\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mstrele\u001B[0m\u001B[1;33m[\u001B[0m\u001B[1;34m'data'\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m[\u001B[0m\u001B[1;34m'records'\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\requests\\api.py\u001B[0m in \u001B[0;36mpost\u001B[1;34m(url, data, json, **kwargs)\u001B[0m\n\u001B[0;32m 117\u001B[0m \"\"\"\n\u001B[0;32m 118\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 119\u001B[1;33m \u001B[1;32mreturn\u001B[0m \u001B[0mrequest\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;34m'post'\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0murl\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mdata\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mdata\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mjson\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mjson\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 120\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 121\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\requests\\api.py\u001B[0m in \u001B[0;36mrequest\u001B[1;34m(method, url, **kwargs)\u001B[0m\n\u001B[0;32m 59\u001B[0m \u001B[1;31m# cases, and look like a memory leak in others.\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 60\u001B[0m \u001B[1;32mwith\u001B[0m \u001B[0msessions\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mSession\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m \u001B[1;32mas\u001B[0m \u001B[0msession\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 61\u001B[1;33m \u001B[1;32mreturn\u001B[0m \u001B[0msession\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mrequest\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mmethod\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mmethod\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0murl\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0murl\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 62\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 63\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\requests\\sessions.py\u001B[0m in \u001B[0;36mrequest\u001B[1;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001B[0m\n\u001B[0;32m 540\u001B[0m }\n\u001B[0;32m 541\u001B[0m \u001B[0msend_kwargs\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mupdate\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0msettings\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 542\u001B[1;33m \u001B[0mresp\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0msend\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mprep\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0msend_kwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 543\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 544\u001B[0m \u001B[1;32mreturn\u001B[0m \u001B[0mresp\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\requests\\sessions.py\u001B[0m in \u001B[0;36msend\u001B[1;34m(self, request, **kwargs)\u001B[0m\n\u001B[0;32m 653\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 654\u001B[0m \u001B[1;31m# Send the request\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 655\u001B[1;33m \u001B[0mr\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0madapter\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0msend\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mrequest\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 656\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 657\u001B[0m \u001B[1;31m# Total elapsed time of the request (approximately)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\requests\\adapters.py\u001B[0m in \u001B[0;36msend\u001B[1;34m(self, request, stream, timeout, verify, cert, proxies)\u001B[0m\n\u001B[0;32m 437\u001B[0m \u001B[1;32mtry\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 438\u001B[0m \u001B[1;32mif\u001B[0m \u001B[1;32mnot\u001B[0m \u001B[0mchunked\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 439\u001B[1;33m resp = conn.urlopen(\n\u001B[0m\u001B[0;32m 440\u001B[0m \u001B[0mmethod\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mrequest\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mmethod\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 441\u001B[0m \u001B[0murl\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0murl\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\urllib3\\connectionpool.py\u001B[0m in \u001B[0;36murlopen\u001B[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)\u001B[0m\n\u001B[0;32m 697\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 698\u001B[0m \u001B[1;31m# Make the request on the httplib connection object.\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 699\u001B[1;33m httplib_response = self._make_request(\n\u001B[0m\u001B[0;32m 700\u001B[0m \u001B[0mconn\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 701\u001B[0m \u001B[0mmethod\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\urllib3\\connectionpool.py\u001B[0m in \u001B[0;36m_make_request\u001B[1;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001B[0m\n\u001B[0;32m 443\u001B[0m \u001B[1;31m# Python 3 (including for exceptions like SystemExit).\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 444\u001B[0m \u001B[1;31m# Otherwise it looks like a bug in the code.\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 445\u001B[1;33m \u001B[0msix\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mraise_from\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0me\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;32mNone\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 446\u001B[0m \u001B[1;32mexcept\u001B[0m \u001B[1;33m(\u001B[0m\u001B[0mSocketTimeout\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mBaseSSLError\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mSocketError\u001B[0m\u001B[1;33m)\u001B[0m \u001B[1;32mas\u001B[0m \u001B[0me\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 447\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_raise_timeout\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0merr\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0me\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0murl\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0murl\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mtimeout_value\u001B[0m\u001B[1;33m=\u001B[0m\u001B[0mread_timeout\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\urllib3\\packages\\six.py\u001B[0m in \u001B[0;36mraise_from\u001B[1;34m(value, from_value)\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\site-packages\\urllib3\\connectionpool.py\u001B[0m in \u001B[0;36m_make_request\u001B[1;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001B[0m\n\u001B[0;32m 438\u001B[0m \u001B[1;31m# Python 3\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 439\u001B[0m \u001B[1;32mtry\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 440\u001B[1;33m \u001B[0mhttplib_response\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mconn\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mgetresponse\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 441\u001B[0m \u001B[1;32mexcept\u001B[0m \u001B[0mBaseException\u001B[0m \u001B[1;32mas\u001B[0m \u001B[0me\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 442\u001B[0m \u001B[1;31m# Remove the TypeError from the exception chain in\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\http\\client.py\u001B[0m in \u001B[0;36mgetresponse\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 1343\u001B[0m \u001B[1;32mtry\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 1344\u001B[0m \u001B[1;32mtry\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m-> 1345\u001B[1;33m \u001B[0mresponse\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mbegin\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 1346\u001B[0m \u001B[1;32mexcept\u001B[0m \u001B[0mConnectionError\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 1347\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mclose\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\http\\client.py\u001B[0m in \u001B[0;36mbegin\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 305\u001B[0m \u001B[1;31m# read until we get a non-100 response\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 306\u001B[0m \u001B[1;32mwhile\u001B[0m \u001B[1;32mTrue\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 307\u001B[1;33m \u001B[0mversion\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mstatus\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mreason\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_read_status\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 308\u001B[0m \u001B[1;32mif\u001B[0m \u001B[0mstatus\u001B[0m \u001B[1;33m!=\u001B[0m \u001B[0mCONTINUE\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 309\u001B[0m \u001B[1;32mbreak\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\http\\client.py\u001B[0m in \u001B[0;36m_read_status\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 266\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 267\u001B[0m \u001B[1;32mdef\u001B[0m \u001B[0m_read_status\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 268\u001B[1;33m \u001B[0mline\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mstr\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mfp\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mreadline\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0m_MAXLINE\u001B[0m \u001B[1;33m+\u001B[0m \u001B[1;36m1\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;34m\"iso-8859-1\"\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 269\u001B[0m \u001B[1;32mif\u001B[0m \u001B[0mlen\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mline\u001B[0m\u001B[1;33m)\u001B[0m \u001B[1;33m>\u001B[0m \u001B[0m_MAXLINE\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 270\u001B[0m \u001B[1;32mraise\u001B[0m \u001B[0mLineTooLong\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;34m\"status line\"\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\socket.py\u001B[0m in \u001B[0;36mreadinto\u001B[1;34m(self, b)\u001B[0m\n\u001B[0;32m 702\u001B[0m \u001B[1;32mwhile\u001B[0m \u001B[1;32mTrue\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 703\u001B[0m \u001B[1;32mtry\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 704\u001B[1;33m \u001B[1;32mreturn\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_sock\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mrecv_into\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mb\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 705\u001B[0m \u001B[1;32mexcept\u001B[0m \u001B[0mtimeout\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 706\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_timeout_occurred\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;32mTrue\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\ssl.py\u001B[0m in \u001B[0;36mrecv_into\u001B[1;34m(self, buffer, nbytes, flags)\u001B[0m\n\u001B[0;32m 1239\u001B[0m \u001B[1;34m\"non-zero flags not allowed in calls to recv_into() on %s\"\u001B[0m \u001B[1;33m%\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 1240\u001B[0m self.__class__)\n\u001B[1;32m-> 1241\u001B[1;33m \u001B[1;32mreturn\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mread\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mnbytes\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mbuffer\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 1242\u001B[0m \u001B[1;32melse\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 1243\u001B[0m \u001B[1;32mreturn\u001B[0m \u001B[0msuper\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mrecv_into\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mbuffer\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnbytes\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mflags\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;32mc:\\Users\\admin\\.conda\\envs\\F6processing\\lib\\ssl.py\u001B[0m in \u001B[0;36mread\u001B[1;34m(self, len, buffer)\u001B[0m\n\u001B[0;32m 1097\u001B[0m \u001B[1;32mtry\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 1098\u001B[0m \u001B[1;32mif\u001B[0m \u001B[0mbuffer\u001B[0m \u001B[1;32mis\u001B[0m \u001B[1;32mnot\u001B[0m \u001B[1;32mNone\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m-> 1099\u001B[1;33m \u001B[1;32mreturn\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_sslobj\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mread\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mlen\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mbuffer\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m 1100\u001B[0m \u001B[1;32melse\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m 1101\u001B[0m \u001B[1;32mreturn\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_sslobj\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mread\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mlen\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n", "\u001B[1;31mKeyboardInterrupt\u001B[0m: " ] } ], "source": [ "import pandas as pd\n", "import requests\n", "import json\n", "import xlrd\n", "from pprint import pprint\n", "cookies_str = 'f6-ids-goodsSESSIONID=b6d441f0-5656-4e48-bb58-6aca41a7de08; gr_user_id=408fef1a-77ed-4e74-8f1e-31dde3446f2e; erpLanguage=zh-CN; prodOrg=11240984669918090119; unp=15845818048897376354; _up=-NillNN-qyBEJ--t3vnSknvoOF53yfSFscUF13M3U-BeUffCop3QjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqFvASoY0i3gMF-vVRv-ZNHu3M-GTc1py0HXagruldgeIdk1HFPRZrrEj9klyw8Le1Nhk.; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2215845818048897376354%22%2C%22first_id%22%3A%221750b4690af1f6-089dd3a4874eb8-3d634f03-1327104-1750b4690b09d0%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%221750b4690af1f6-089dd3a4874eb8-3d634f03-1327104-1750b4690b09d0%22%7D; tmall=false'\n", "\n", "cookies_str = cookies_str.encode('utf-8').decode('latin-1')\n", "\n", "cookie_dict = {item.split('=')[0]: item.split('=')[1]\n", " for item in cookies_str.split('; ')}\n", "\n", "headers = {\n", " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40',\n", " \"Content-Type\": \"application/json\",\n", " 'origin': 'https://yunxiu.f6car.cn'\n", "}\n", "ID=[]\n", "for a in range(1,55):\n", " json={\n", " \"keyWord\":\"\",\n", " \"idOwnOrg\":\"11240984669918090119\",\n", " \"currentPage\":a,\n", " \"pageSize\":100,\n", " \"name\":\"\",\n", " \"brand\":\"\",\n", " \"supplierCode\":\"\",\n", " \"customCode\":\"\",\n", " \"categoryName\":\"\",\n", " \"categoryId\":\"\",\n", " \"labelId\":\"\",\n", " \"labelName\":\"\",\n", " \"spec\":\"\",\n", " \"applyModel\":\"\",\n", " \"sellPurchaseStatuses\":[\n", " 2,\n", " 3,\n", " 4,\n", " 5\n", " ]\n", " }\n", " url = 'https://ids-goods.f6car.com/f6-ids-goods/part/getExactPartStockInfo'\n", " res = requests.post(url,cookies=cookie_dict,headers=headers,json=json)\n", " strele = res.json()\n", " le=len(strele['data']['records'])\n", "\n", " for i in range(0,le):\n", " MX={}\n", " partId=strele['data']['records'][i]['partId']\n", " customCode=strele['data']['records'][i]['customCode']\n", " supplierCode=strele['data']['records'][i]['supplierCode']\n", " MX['材料编码']=customCode\n", " MX['材料ID']=partId\n", " MX['零件号']=supplierCode\n", " ID.append(MX)\n", "df=pd.DataFrame(ID)\n", "df.to_excel(r'C:\\Users\\admin\\Desktop\\材料ID.xlsx',index=False)\n" ] }, { "metadata": {}, "cell_type": "markdown", "source": "## 材料信息修改保存" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 根据材料编码获取材料ID" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import requests\n", "import json\n", "import xlrd\n", "from pprint import pprint\n", "cookies_str = 'f6-ids-goodsSESSIONID=fe148c9e-e01a-4a90-b1b5-d76d51cfa6af; erpLanguage=zh-CN; tmall=false; prodOrg=11240984669917891540; unp=15763324200216977433; _up=-NillNN-qyBEJ--t3vnSknvoOF54y_KOsskH03s9W-FUUfbFpJrQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqFPcWr44i1gYP__hRv-ZNHu3M-GTc2Z6yFnWsrO1Vi-ocmVHEOhBsrEj96Xjc98vYSjk.; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2215605564149906554899%22%2C%22first_id%22%3A%2217e08ece80f53a-0448dc86383ae5-3e604809-1327104-17e08ece81094e%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fyunxiu.f6car.com%2Ferp%2Fview%2Findex.html%22%7D%2C%22%24device_id%22%3A%2217e08ece80f53a-0448dc86383ae5-3e604809-1327104-17e08ece81094e%22%7D'\n", "cookies_str = cookies_str.encode('utf-8').decode('latin-1')\n", "\n", "cookie_dict = {item.split('=')[0]: item.split('=')[1]\n", " for item in cookies_str.split('; ')}\n", "\n", "headers = {\n", " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40',\n", " \"Content-Type\": \"application/json\",\n", " 'origin': 'https://yunxiu.f6car.cn'\n", "}\n", "df = pd.read_excel(r'C:\\Users\\杨国栋\\Desktop\\材料.xlsx',sheet_name='Sheet1',dtype='string') \n", "for item in df.index:\n", " CLID= df.loc[item,'材料编码']\n", " json={\n", " \"keyWord\":CLID,\n", " \"idOwnOrg\":\"11240984669917891540\",\n", " \"currentPage\":1,\n", " \"pageSize\":10,\n", " \"name\":\"\",\n", " \"brand\":\"\",\n", " \"supplierCode\":\"\",\n", " \"customCode\":\"\",\n", " \"categoryName\":\"\",\n", " \"categoryId\":\"\",\n", " \"labelId\":\"\",\n", " \"labelName\":\"\",\n", " \"spec\":\"\",\n", " \"applyModel\":\"\",\n", " \"sellPurchaseStatuses\":[\n", " 2,\n", " 3,\n", " 4,\n", " 5\n", " ]\n", " }\n", " url = 'https://ids-goods.f6car.com/f6-ids-goods/part/getExactPartStockInfo'\n", " res = requests.post(url,cookies=cookie_dict,headers=headers,json=json)\n", " re=res.json()\n", " print(CLID,re['data']['records'][0]['partId'])\n" ] } ], "metadata": { "kernelspec": { "display_name": "F6processing", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.4" } }, "nbformat": 4, "nbformat_minor": 2 }