263 lines
19 KiB
Plaintext
263 lines
19 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "initial_id",
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-01-22T03:01:15.515786400Z",
|
|
"start_time": "2026-01-22T03:01:12.175041100Z"
|
|
},
|
|
"collapsed": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"ename": "FileNotFoundError",
|
|
"evalue": "[Errno 2] No such file or directory: 'C:\\\\Users\\\\zy187\\\\Desktop\\\\钉钉文件\\\\失败项目材料(1).xlsx'",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
"\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)",
|
|
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 38\u001b[39m\n\u001b[32m 36\u001b[39m all_data = []\n\u001b[32m 37\u001b[39m fild_data = []\n\u001b[32m---> \u001b[39m\u001b[32m38\u001b[39m df = \u001b[43mpd\u001b[49m\u001b[43m.\u001b[49m\u001b[43mread_excel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msheet_name\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mSheet1\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 39\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m index, row \u001b[38;5;129;01min\u001b[39;00m tqdm(df.iterrows(), total=\u001b[38;5;28mlen\u001b[39m(df), desc=\u001b[33m\"\u001b[39m\u001b[33m处理中\u001b[39m\u001b[33m\"\u001b[39m, leave=\u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[32m 40\u001b[39m json_data = {\n\u001b[32m 41\u001b[39m \u001b[33m'\u001b[39m\u001b[33mkeyword\u001b[39m\u001b[33m'\u001b[39m: \u001b[33m\"\u001b[39m\u001b[33m凤凰\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 42\u001b[39m \u001b[33m'\u001b[39m\u001b[33mtype\u001b[39m\u001b[33m'\u001b[39m: \u001b[32m0\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 54\u001b[39m \u001b[33m'\u001b[39m\u001b[33mcurrentPage\u001b[39m\u001b[33m'\u001b[39m: \u001b[32m1\u001b[39m,\n\u001b[32m 55\u001b[39m }\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\pandas\\io\\excel\\_base.py:495\u001b[39m, in \u001b[36mread_excel\u001b[39m\u001b[34m(io, sheet_name, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, date_format, thousands, decimal, comment, skipfooter, storage_options, dtype_backend, engine_kwargs)\u001b[39m\n\u001b[32m 493\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(io, ExcelFile):\n\u001b[32m 494\u001b[39m should_close = \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m495\u001b[39m io = \u001b[43mExcelFile\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 496\u001b[39m \u001b[43m \u001b[49m\u001b[43mio\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 497\u001b[39m \u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 498\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 499\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine_kwargs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 500\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 501\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m engine \u001b[38;5;129;01mand\u001b[39;00m engine != io.engine:\n\u001b[32m 502\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 503\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mEngine should not be specified when passing \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 504\u001b[39m \u001b[33m\"\u001b[39m\u001b[33man ExcelFile - ExcelFile already has the engine set\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 505\u001b[39m )\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\pandas\\io\\excel\\_base.py:1550\u001b[39m, in \u001b[36mExcelFile.__init__\u001b[39m\u001b[34m(self, path_or_buffer, engine, storage_options, engine_kwargs)\u001b[39m\n\u001b[32m 1548\u001b[39m ext = \u001b[33m\"\u001b[39m\u001b[33mxls\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 1549\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1550\u001b[39m ext = \u001b[43minspect_excel_format\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1551\u001b[39m \u001b[43m \u001b[49m\u001b[43mcontent_or_path\u001b[49m\u001b[43m=\u001b[49m\u001b[43mpath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstorage_options\u001b[49m\n\u001b[32m 1552\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1553\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m ext \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 1554\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 1555\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mExcel file format cannot be determined, you must specify \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 1556\u001b[39m \u001b[33m\"\u001b[39m\u001b[33man engine manually.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 1557\u001b[39m )\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\pandas\\io\\excel\\_base.py:1402\u001b[39m, in \u001b[36minspect_excel_format\u001b[39m\u001b[34m(content_or_path, storage_options)\u001b[39m\n\u001b[32m 1399\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(content_or_path, \u001b[38;5;28mbytes\u001b[39m):\n\u001b[32m 1400\u001b[39m content_or_path = BytesIO(content_or_path)\n\u001b[32m-> \u001b[39m\u001b[32m1402\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[43mget_handle\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1403\u001b[39m \u001b[43m \u001b[49m\u001b[43mcontent_or_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mrb\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_text\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\n\u001b[32m 1404\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m handle:\n\u001b[32m 1405\u001b[39m stream = handle.handle\n\u001b[32m 1406\u001b[39m stream.seek(\u001b[32m0\u001b[39m)\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\pandas\\io\\common.py:882\u001b[39m, in \u001b[36mget_handle\u001b[39m\u001b[34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)\u001b[39m\n\u001b[32m 873\u001b[39m handle = \u001b[38;5;28mopen\u001b[39m(\n\u001b[32m 874\u001b[39m handle,\n\u001b[32m 875\u001b[39m ioargs.mode,\n\u001b[32m (...)\u001b[39m\u001b[32m 878\u001b[39m newline=\u001b[33m\"\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 879\u001b[39m )\n\u001b[32m 880\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 881\u001b[39m \u001b[38;5;66;03m# Binary mode\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m882\u001b[39m handle = \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mhandle\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mioargs\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmode\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 883\u001b[39m handles.append(handle)\n\u001b[32m 885\u001b[39m \u001b[38;5;66;03m# Convert BytesIO or file objects passed with an encoding\u001b[39;00m\n",
|
|
"\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: 'C:\\\\Users\\\\zy187\\\\Desktop\\\\钉钉文件\\\\失败项目材料(1).xlsx'"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import time\n",
|
|
"\n",
|
|
"import pandas as pd\n",
|
|
"import requests\n",
|
|
"from tqdm import tqdm\n",
|
|
"import requests\n",
|
|
"\n",
|
|
"cookies = {\n",
|
|
" 'f6-ids-goodsSESSIONID': '5933f16b-f9b7-4653-9696-a7d46ecbfba3',\n",
|
|
" 'erpLanguage': 'zh-CN',\n",
|
|
" 'tmall': 'false',\n",
|
|
" 'prodOrg': '11240984669917188035',\n",
|
|
" 'unp': '15919462121159692302',\n",
|
|
" '_up': '-NillNN-qyBEJ--t3vnSknvoOF52zPiJts8E0Xo-X-5bX_PCp5vQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqEvoUrY0m3wAK_vRRv-ZNHu3M-GTc15m4EXGqr-9UiO4Tll_BPRNtrEj9nhm_qsCwNGE.',\n",
|
|
" 'sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%2215919462121159692302%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%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%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D',\n",
|
|
"}\n",
|
|
"\n",
|
|
"headers = {\n",
|
|
" 'accept': 'application/json, text/plain, */*',\n",
|
|
" 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',\n",
|
|
" 'content-type': 'application/json;charset=UTF-8',\n",
|
|
" 'origin': 'https://ids-goods.f6car.cn',\n",
|
|
" 'priority': 'u=1, i',\n",
|
|
" 'referer': 'https://ids-goods.f6car.cn/f6-ids-goods/view/material.html',\n",
|
|
" 'sec-ch-ua': '\"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"144\", \"Microsoft Edge\";v=\"144\"',\n",
|
|
" 'sec-ch-ua-mobile': '?0',\n",
|
|
" 'sec-ch-ua-platform': '\"Windows\"',\n",
|
|
" 'sec-fetch-dest': 'empty',\n",
|
|
" 'sec-fetch-mode': 'cors',\n",
|
|
" 'sec-fetch-site': 'same-origin',\n",
|
|
" 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0',\n",
|
|
" # 'cookie': 'f6-ids-goodsSESSIONID=5933f16b-f9b7-4653-9696-a7d46ecbfba3; erpLanguage=zh-CN; tmall=false; prodOrg=11240984669917188035; unp=15919462121159692302; _up=-NillNN-qyBEJ--t3vnSknvoOF52zPiJts8E0Xo-X-5bX_PCp5vQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqEvoUrY0m3wAK_vRRv-ZNHu3M-GTc15m4EXGqr-9UiO4Tll_BPRNtrEj9nhm_qsCwNGE.; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2215919462121159692302%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%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%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D',\n",
|
|
"}\n",
|
|
"\n",
|
|
"path = fr\"C:\\Users\\zy187\\Desktop\\钉钉文件\\失败项目材料(1).xlsx\"\n",
|
|
"all_data = []\n",
|
|
"fild_data = []\n",
|
|
"df = pd.read_excel(path, sheet_name=\"Sheet1\")\n",
|
|
"for index, row in tqdm(df.iterrows(), total=len(df), desc=\"处理中\", leave=False):\n",
|
|
" json_data = {\n",
|
|
" 'keyword': \"凤凰\",\n",
|
|
" 'type': 0,\n",
|
|
" 'facetFields': [\n",
|
|
" # {\n",
|
|
" # 'aggrValue': row[\"品牌\"],\n",
|
|
" # 'aggrField': 'brandName',\n",
|
|
" # # },\n",
|
|
" # {\n",
|
|
" # 'aggrValue': row[\"材料分类\"],\n",
|
|
" # 'aggrField': 'threeCategoryName',\n",
|
|
" # },\n",
|
|
" ],\n",
|
|
" 'pageSize': 100,\n",
|
|
" 'currentPage': 1,\n",
|
|
" }\n",
|
|
" # print(json_data)\n",
|
|
"\n",
|
|
" response = requests.post(\n",
|
|
" 'https://ids-goods.f6car.cn/f6-ids-goods/part/getUnifiedCloudPartInfo',\n",
|
|
" cookies=cookies,\n",
|
|
" headers=headers,\n",
|
|
" json=json_data,\n",
|
|
" )\n",
|
|
" # print(response.json())\n",
|
|
" total = response.json().get('data').get('totalPages')\n",
|
|
" if total >= 100:\n",
|
|
" print(f\"数据量过大,请检查!,{row['品牌']},{row['材料分类']}\")\n",
|
|
" for i in tqdm(range(1, total + 1), total=total, leave=False):\n",
|
|
" json_data['currentPage'] = i\n",
|
|
" response = requests.post(\n",
|
|
" 'https://ids-goods.f6car.cn/f6-ids-goods/part/getUnifiedCloudPartInfo',\n",
|
|
" cookies=cookies,\n",
|
|
" headers=headers,\n",
|
|
" json=json_data,\n",
|
|
" )\n",
|
|
" time.sleep(2)\n",
|
|
" data = response.json().get('data')\n",
|
|
" data_list = data.get('records')\n",
|
|
" if not data_list:\n",
|
|
" print(f\"没有数据,请检查!,{row['品牌']},{row['材料分类']}\")\n",
|
|
" fild_data.append(row)\n",
|
|
" break\n",
|
|
" for item in data_list:\n",
|
|
" all_data.append(item)\n",
|
|
"\n",
|
|
"ndf = pd.DataFrame(all_data)\n",
|
|
"ndf.to_excel(fr\"C:\\Users\\zy187\\Desktop\\云材料结果2.xlsx\")\n",
|
|
"fdf = pd.DataFrame(fild_data)\n",
|
|
"fdf.to_excel(fr\"C:\\Users\\zy187\\Desktop\\失败项目材料2.xlsx\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "713d0645f9b5b8b0",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 关键字搜索"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "56303413fee1137",
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-01-22T03:07:17.414079900Z",
|
|
"start_time": "2026-01-22T03:04:41.187628900Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "7ad7a6cd83cf4722a92c3fd9dc6e56a9",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/3 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import time\n",
|
|
"import pandas as pd\n",
|
|
"import requests\n",
|
|
"from tqdm.notebook import tqdm\n",
|
|
"\n",
|
|
"import requests\n",
|
|
"\n",
|
|
"cookies = {\n",
|
|
" 'f6-ids-goodsSESSIONID': '1608f49b-0c52-4dd4-b46e-01664c841a45',\n",
|
|
" 'erpLanguage': 'zh-CN',\n",
|
|
" 'tmall': 'false',\n",
|
|
" 'prodOrg': '11240984669917217520',\n",
|
|
" 'unp': '15865484595890778191',\n",
|
|
" '_up': '-NillNN-qyBEJ--t3vnSknvoOF53y_SJuMkA2n43U-daUfnArpjQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqE_MWrI8g0QME_vJRv-ZNHu3M-GTc1p60EX-sq-RQgeIal1HLPxpurEj9mUa59cnvQWI.',\n",
|
|
" 'sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%2215865484595890778191%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%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%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D',\n",
|
|
"}\n",
|
|
"\n",
|
|
"headers = {\n",
|
|
" 'accept': 'application/json, text/plain, */*',\n",
|
|
" 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',\n",
|
|
" 'content-type': 'application/json;charset=UTF-8',\n",
|
|
" 'origin': 'https://ids-goods.f6car.cn',\n",
|
|
" 'priority': 'u=1, i',\n",
|
|
" 'referer': 'https://ids-goods.f6car.cn/f6-ids-goods/view/material.html',\n",
|
|
" 'sec-ch-ua': '\"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"144\", \"Microsoft Edge\";v=\"144\"',\n",
|
|
" 'sec-ch-ua-mobile': '?0',\n",
|
|
" 'sec-ch-ua-platform': '\"Windows\"',\n",
|
|
" 'sec-fetch-dest': 'empty',\n",
|
|
" 'sec-fetch-mode': 'cors',\n",
|
|
" 'sec-fetch-site': 'same-origin',\n",
|
|
" 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0',\n",
|
|
" # 'cookie': 'f6-ids-goodsSESSIONID=1608f49b-0c52-4dd4-b46e-01664c841a45; erpLanguage=zh-CN; tmall=false; prodOrg=11240984669917217520; unp=15865484595890778191; _up=-NillNN-qyBEJ--t3vnSknvoOF53y_SJuMkA2n43U-daUfnArpjQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqE_MWrI8g0QME_vJRv-ZNHu3M-GTc1p60EX-sq-RQgeIal1HLPxpurEj9mUa59cnvQWI.; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2215865484595890778191%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%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%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D',\n",
|
|
"}\n",
|
|
"\n",
|
|
"\n",
|
|
"all_data = []\n",
|
|
"for i in tqdm(range(1, 4)):\n",
|
|
" json_data = {\n",
|
|
" 'keyword': \"思卫博\",\n",
|
|
" 'type': 0,\n",
|
|
" 'facetFields': [\n",
|
|
" ],\n",
|
|
" 'pageSize': 100,\n",
|
|
" 'currentPage': i,\n",
|
|
" }\n",
|
|
"\n",
|
|
" response = requests.post(\n",
|
|
" 'https://ids-goods.f6car.cn/f6-ids-goods/part/getUnifiedCloudPartInfo',\n",
|
|
" cookies=cookies,\n",
|
|
" headers=headers,\n",
|
|
" json=json_data,\n",
|
|
" )\n",
|
|
"\n",
|
|
" time.sleep(2)\n",
|
|
" data = response.json().get('data')\n",
|
|
" data_list = data.get('records')\n",
|
|
" if not data_list:\n",
|
|
" print(\"没有数据,请检查!\")\n",
|
|
" break\n",
|
|
" for item in data_list:\n",
|
|
" all_data.append(item)\n",
|
|
"\n",
|
|
"ndf = pd.DataFrame(all_data)\n",
|
|
"ndf.to_excel(fr\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\云材料结果1.xlsx\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "15e7fa1e9c5b91b",
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-01-05T06:05:31.695215600Z",
|
|
"start_time": "2026-01-05T06:05:30.160772900Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"ndf = pd.DataFrame(all_data)\n",
|
|
"ndf.to_excel(fr\"C:\\Users\\hp_z66\\Desktop\\云材料结果.xlsx\")"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "F6+宜搭+其它",
|
|
"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.13.11"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|