import requests
import json
# 创建一个 Session 对象
session = requests.Session ()
# 设置请求头
headers = {
"authority": "cacizt-pc.eastfair.com",
"accept": "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"authorization": "PBB+hfqyCn5u/Asp+KqEaro7AhH4z/+bW0+9qxZHTV3GqTTtK0xlBOZ/bJUKrMMzpQGrxvbaa1O+XC9IM1Esf+sq+GwKEVbFVC5oHf4ckhDvF0COJwODWI/otfPxmvDr8/lzo80KxYaPNqn7kEkK/5d3CRmNDUlQBGo9iBXFyJm9IcXhTs3UJ3PSx/3pyao67h18E1SncYIPukUmWlVAsHzhxLGBP9tOeJdS6oZ4RYKXIeoSHtEZefeF/0Ne5PpFdZjPGeTCeSLhi0QVNZ+70jSDR0ZiOfQJ5NTNtnT9EOJMGGPZkoevYDS/Wd1LcvI5xPT8hle8hE3TgEdYGc2Z+P4TQ3pEta1RRke+boQK/qNYu1LJkzJtNYIDRsf1bshJFAf5AxjrLvNiDx1pKcwNfgT1w5M/Dvv5yMKwTbI5yGQ=",
"content-type": "application/json;charset=UTF-8",
"cookie": "CAC-huikan-Token=PBB+hfqyCn5u/Asp+KqEaro7AhH4z/+bW0+9qxZHTV3GqTTtK0xlBOZ/bJUKrMMzpQGrxvbaa1O+XC9IM1Esf+sq+GwKEVbFVC5oHf4ckhDvF0COJwODWI/otfPxmvDr8/lzo80KxYaPNqn7kEkK/5d3CRmNDUlQBGo9iBXFyJm9IcXhTs3UJ3PSx/3pyao67h18E1SncYIPukUmWlVAsHzhxLGBP9tOeJdS6oZ4RYKXIeoSHtEZefeF/0Ne5PpFdZjPGeTCeSLhi0QVNZ+70jSDR0ZiOfQJ5NTNtnT9EOJMGGPZkoevYDS/Wd1LcvI5xPT8hle8hE3TgEdYGc2Z+P4TQ3pEta1RRke+boQK/qNYu1LJkzJtNYIDRsf1bshJFAf5AxjrLvNiDx1pKcwNfgT1w5M/Dvv5yMKwTbI5yGQ=",
"origin": "https://cacizt-pc.eastfair.com",
"referer": "https://cacizt-pc.eastfair.com/actorList",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
}
# 封装请求的函数
def fetch_exhibitors_data (page_num):
# 请求数据
data = {
"pageNum": page_num,
"pageRows": 10,
"total": 2194,
"searchKeywords": "",
"pages": 220,
"tagIds": "",
"questionList": [],
"initial": "",
"showType": "ACTOR_LIST",
"exhibitorSort": "recommend_custom_letter_asc",
"languageType": "cn",
"exhibitionId": "b33d8960b7a245cb97146670283ac360",
"appId": "7e46f33c139246069a3c17c9f4847a25",
"terminal": "web",
"subjectType": "VISITOR"
}
# 发送POST请求
response = session.post (
"https://cacizt-pc.eastfair.com/visitor/v2/exhibitor/browse/all/list",
headers=headers,
json=data
)
return response
# 遍历请求,获取数据并存储
def get_all_exhibitors ():
exhibitors = [] # 用于存储所有展商的数据
total_pages = 220 # 总页数,可以根据实际的响应调整
for page_num in range (1, total_pages + 1): # 遍历每一页
print (f"正在请求第 {page_num} 页的数据...")
response = fetch_exhibitors_data (page_num)
if response.status_code == 200:
try:
# 解析JSON响应
response_json = response.json ()
exhibitor_list = response_json[
# 遍历列表获取每个展商的信息
for item in exhibitor_list:
exhibition_booth_number = item[ company_name = item[ exhibitor_id = item[
exhibitors.append ({
"exhibitionBoothNumber": exhibition_booth_number,
"companyName": company_name,
"id": exhibitor_id,
"url":f"https://cacizt-pc.eastfair.com/actorDetail/{exhibitor_id}"
})
except Exception as e:
print ("解析响应时出错:", e)
else:
print (f"请求失败,第 {page_num} 页,状态码: {response.status_code}")
return exhibitors
# 调用函数获取所有展商数据
exhibitors_data = get_all_exhibitors ()
# 输出所有展商的展位号和公司名
for exhibitor in exhibitors_data:
print (f"展位号: {exhibitor[