关于python爬虫问题

import requests
import json
if name == "main":
#1.指定url
post_url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
# 2.进行UA伪装
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
}
word=input('请输入需要查询的城市:')
params={
'cname':'',
'pid':'',
'keyword': word,
'pageIndex': '1',
'pageSize':'10'
}
#请求发送
response=requests.post(url=post_url,params=params,headers=headers)
#获取响应数据
dic_page=response.text
# 持久化储存
# page=word+'.html'
# fp=open(page,'w',encoding='utf-8')
# fp.write(dic_page)
# a=0
# for total in dic_page['Table']:
# total['rowcount']
#
print(dic_page)
a=dic_page['Table']
print(a)

报错的是: a=dic_page['rowcount']
TypeError: string indices must be integers
我想获取 dic_page字典 里面关于Table的数据

dic_page=response.text

改成

dic_page=response.json()

response.text 获取的是字符串,应该用response.json()获取的才是解析好的字典


可以看下python参考手册中的 python- 接下来?

import requests
import json

# 1.指定url
post_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
# 2.进行UA伪装
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
}
# word=input('请输入需要查询的城市:')
word = "贵阳"
params = {
    'cname': '',
    'pid': '',
    'keyword': word,
    'pageIndex': '1',
    'pageSize': '10'
}
# 请求发送
response = requests.post(url=post_url, params=params, headers=headers)
# 获取响应数据
dic_page = response.json()
# 持久化储存
# page=word+'.html'
# fp=open(page,'w',encoding='utf-8')
# fp.write(dic_page)
# a=0
# for total in dic_page['Table']:
# total['rowcount']
#
print(dic_page)
a = dic_page["Table"]
print(a)

用.json()可以获取字典数据,然后用键查询,你的.text是字符串

img

我想调用Table里面的值应该怎么操作呢 不需要recount,谁可以回答这个 就采纳哦

官网套语法就可以了