爬虫时进行Response中的json数据提取,但会报 Expecting value: line 1 column 1 (char 0)错
代码是这样
# 导入数据请求模块
import requests
# import pprint
import csv
import time
f = open('奶茶all.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'店铺名',
'评分',
'商圈',
'人均消费',
'店铺类型',
'详情页',
])
csv_writer.writeheader() # 写入表头
# 1.发送请求
for page in range(0, 321, 32):
time.sleep(1.5)
url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/20'
data = {
'uuid': 'd4e2689acb694af4b118.1672255666.1.0.0',
'userid': '875606318',
'limit': '32',
'offset': page,
'cateId': '-1',
'q': '奶茶',
'token': 'AgEmINWY6WS0ymRY27w3Z8cguycKJsUCJTsdFPzCe6qecANMMX56R7k3tjYt82xaZHwBXSF2z0QAkwAAAADnFQAA-nXIjBz-4sQeqq8-D6cfnQN5N5NqRxrueAzI6mrrJyqJfLdCM_8vK36l7l2mcWwr'
}
#伪装
headers = {
'Referer': 'https://gz.meituan.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
}
response = requests.get(url=url, params=data, headers=headers)
# 2.获取数据
# print(response.json())
# pprint.pprint(response.json())
# 3.解析数据
searchResult = response.json()['data']['searchResult']
for index in searchResult:
href = f'https://www.meituan.com/meishi/{index["id"]}/'
dit = {
'店铺名': index['title'],
'评分': index['avgscore'],
'商圈': index['areaname'],
'人均消费': index['avgprice'],
'店铺类型': ['backCateName'],
'详情页': href,
}
# 4.保存数据
csv_writer.writerow(dit)
print(dit)
运行结果及详细报错内容
查了很多,看headers也有UA,url应该也没错,实在不知道该改哪啊T-T