我正在尝试设置cookies,同时遍历从selenium获得的cookies。当试图设置它们时,我得到一个错误***类型错误:列表索引必须是整数或片,而不是dict***。下面是我的代码、dict和输出。
代码:
s = requests.Session()
options = Options()
options.headless = True
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36'
options.add_argument('user-agent={0}'.format(user_agent))
driver = webdriver.Chrome(options=options,executable_path=r'./chromedriver')
driver.get("https://us.louisvuitton.com/eng-us/products/pocket-organizer-damier-graphite-nvprod2630093v#N60432")
cookies = driver.get_cookies()
print(cookies)
for cookie in cookies:
s.cookies.set(cookie['name'], cookie['value'])
headers3 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)',
'Accept': "*/*",
'Cache-Control': "no-cache",
'Host': "api.louisvuitton.com",
'Accept-Encoding': "gzip, deflate",
'Connection': "keep-alive",
'cache-control': "no-cache",
'Content-Type': 'application/json'
}
t = s.get("https://api.louisvuitton.com/api/eng-us/catalog/availability/M80016",headers=headers3,cookies=cookies)
口述:
[{'domain': '.louisvuitton.com', 'expiry': 1648226950, 'httpOnly': False, 'name': 'utag_main', 'path': '/', 'secure': False, 'value': 'v_id:01786a4a2b7f00165086f404bc4000068006206000b7e$_sn:1$_se:7$_ss:0$_st:1616692750887$ses_id:1616690948992%3Bexp-session$_pn:1%3Bexp-session$dc_visit:1$dc_event:3%3Bexp-session$dc_region:eu-central-1%3Bexp-session'}, {'domain': '.louisvuitton.com', 'expiry': 1624466950, 'httpOnly': False, 'name': '_fbp', 'path': '/', 'secure': False, 'value': 'fb.1.1616690950154.932434373'}, {'domain': '.louisvuitton.com', 'expiry': 1650854950, 'httpOnly': False, 'name': '_cs_id', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': 'a3e02745-7dfc-a2a0-a1a1-cbede54a110c.1616690950.1.1616690950.1616690950.1.1650854950129.Lax.0'}, {'domain': '.louisvuitton.com', 'expiry': 1650854950, 'httpOnly': False, 'name': '_cs_c', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': '1'}, {'domain': '.louisvuitton.com', 'expiry': 1650877649, 'httpOnly': False, 'name': '_sctr', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': '1|1616648400000'}, {'domain': '.louisvuitton.com', 'expiry': 1624466950, 'httpOnly': False, 'name': '_gcl_au', 'path': '/', 'secure': False, 'value': '1.1.1912920712.1616690950'}, {'domain': '.louisvuitton.com', 'httpOnly': False, 'name': 'ATGID', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'anonymous'}, {'domain': '.louisvuitton.com', 'expiry': 1616692749, 'httpOnly': True, 'name': 'anonymous_session', 'path': '/', 'secure': False, 'value': 'true'}, {'domain': '.louisvuitton.com', 'expiry': 1616777349, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.383228537.1616690950'}, {'domain': '.louisvuitton.com', 'expiry': 1648226950, 'httpOnly': False, 'name': 'qb_permanent', 'path': '/', 'secure': False, 'value': '1p7abdz2zl4-0kmp41rwm-vk4xn8o:1:1:1:1:0::0:1:0:BgXL8F:BgXL8F:::::173.237.207.43:road%20town:13462:british%20virgin%20islands:VG:18.47:-64.65:unknown:unknown:british%20virgin%20islands:8960:migrated|1616690950237:EbFa==B=CRhL=Et&E34W==B=CSWN=N+&E340==B=CTUC=Hq&FDMk==B=CTqz=Dh::XhqSjLk:XhqSi1O:0:0:0::0:0:.louisvuitton.com:0'}, {'domain': '.louisvuitton.com', 'httpOnly': False, 'name': 'qb_204956_bounce', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.louisvuitton.com', 'httpOnly': True, 'name': '_dynSessConf', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '-3122334132653973729'}, {'domain': '.louisvuitton.com', 'httpOnly': False, 'name': 'ATG_SESSION_ID', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'buv0ClcHVCfYOAGU9TmEXE94.front71-prd'}, {'domain': '.us.louisvuitton.com', 'expiry': 1648226950, 'httpOnly': False, 'name': '_pin_unauth', 'path': '/', 'secure': False, 'value': 'dWlkPVl6QmpPV1U0WXpjdFpqZGxOQzAwT1RrNUxXRTJZamN0WkdSa01UWmtZMk15WlRFMw'}, {'domain': '.louisvuitton.com', 'expiry': 1650877648, 'httpOnly': False, 'name': '_scid', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': '042e18dd-eca1-4060-8501-c2ad57e5a49a'}, {'domain': '.louisvuitton.com', 'expiry': 1650818949, 'httpOnly': False, 'name': 'OPTOUTMULTI', 'path': '/', 'secure': False, 'value': '0:0%7Cc1:0%7Cc2:0%7Cc4:0%7Cc3:0'}, {'domain': '.louisvuitton.com', 'expiry': 1616698148, 'httpOnly': True, 'name': 'ak_bmsc', 'path': '/', 'secure': False, 'value': '3D64051397F4D902D64BC80FD9620E11~000000000000000000000000000000~YAAQNPzDF8k4EUd4AQAA3SxKagsOLfmIrUpwFWgTdtVviG94wwMEZrPt8z6V90hPzx9xt4Ym+6RSRN3E4LhjlN7CNvh810wMdj5R7wqYr6Du7WxkAZ8YjZ3RnNdSO+e0LDOvL2podxE9WYNsG9poHlKcBYg3+nby2TffQ1NwJN7MAJT6jVF7uwk4mrpQ850stNNpSNdst7ytqB6HZX8rGgv+eLTgEIap4vAsuO0UiM67iE8tyOZrJIyN65pjem1aHgoWQsOxWg6evnNp7Kyj7AkJZZT7apRJfhwJce2Vw4kez2SbwefOfh0ZbQfryxyVo+hAHz4hF1YRXBx2VMmU/QYEyj8Ry7BFH2Eu/+uMjFo+it6uVOYsxRDlzk8rwyrslvOIgzJbMpZDJAqRu7uD+xhZkIj2BC286YMNRYRXXim2ScGbGgMq8qFBGQsMF0m+a6W1/7U+mBetgI3KjC4N/8RXpyQB2PIoPnCIJMvUXN0xhNofWWqhFZAl0Wh2jCfY7K8pLO/gvQeQOMfh8FotCWlFT0kWYGobbaO2mRdCSSfHQj0='}, {'domain': '.louisvuitton.com', 'expiry': 1648226948, 'httpOnly': False, 'name': '_qubitTracker', 'path': '/', 'secure': False, 'value': '1p7abdz2zl4-0kmp41rwm-vk4xn8o'}, {'domain': '.louisvuitton.com', 'expiry': 1619369348, 'httpOnly': False, 'name': 'lv-dispatch', 'path': '/', 'secure': False, 'value': 'eng-us'}, {'domain': '.louisvuitton.com', 'expiry': 1617295748, 'httpOnly': False, 'name': 'RT', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': '"z=1&dm=louisvuitton.com&si=ba5cd8cd-1f62-4ded-ad7a-ddd68fabb390&ss=kmp41qyq&sl=0&tt=0&bcn=%2F%2F173c5b0e.akstat.io%2F"'}, {'domain': '.louisvuitton.com', 'httpOnly': True, 'name': 'JSESSIONID', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'buv0ClcHVCfYOAGU9TmEXE94.front71-prd'}, {'domain': '.louisvuitton.com', 'expiry': 1619369348, 'httpOnly': False, 'name': 'lv-dispatch-url', 'path': '/', 'secure': False, 'value': 'https://us.louisvuitton.com/eng-us/products/pocket-organizer-damier-graphite-nvprod2630093v#N60432'}, {'domain': '.louisvuitton.com', 'expiry': 1616692749, 'httpOnly': False, 'name': '_cs_mk', 'path': '/', 'secure': False, 'value': '0.5489998759169905_1616690949612'}, {'domain': '.louisvuitton.com', 'expiry': 1616705348, 'httpOnly': True, 'name': 'bm_sz', 'path': '/', 'secure': False, 'value': 'CA40D05E3CC174D94E3E50A07B708C00~YAAQNPzDF4k4EUd4AQAA7idKagt0PLQO2+uh6nteH86dioN0HMs1OnvtapGX6e0lPezFhpj+MX7Ic3t8xenywKmBWLyFQ1wNZt+3wjvQdVTc9lQ3mDoIUlw4xV0Lh1y7sdgdLt56kC7l6OochKWr/mmGBCBHoWkz6s4Gb8d2adQ0KrTo7p8QVvQucglkr+VWySs3orWN'}, {'domain': '.louisvuitton.com', 'expiry': 1648226949, 'httpOnly': False, 'name': '_abck', 'path': '/', 'secure': True, 'value': '6210CA8DFA0A496B8615F559681F1962~-1~YAAQNPzDF9c4EUd4AQAAGy5KagWp6aFlq2kyZ4EDIHSmROE/RehyIIt4O1oQP8h8dEso3gIVP/GkhGcD8uR51qYvE9bjAnkAaefWAk8D63JOWlXPomeGE/ABrcVgo5vfqq56Qa1rKo6exl+yD70vApSii4xR0XXi/c4Am1hV/l2KJO9kqeUJKJYEeq9r4WpDKHrAWM1o6PwEStjR/Kr3AgsPgL+p32Prf7v+xdiFbcu2oFzBp0OpPkW74cbUk2R1uI/NIr3+tRz9BYf7Q40DYstdLv5UAlAdWllN4eT0llmHPcjaYf1mXQ89o5qt6dpQT4Xkdl2V4MjywVshgmAVcZ9lYS1d21KO/ClHHecxVkeCp6i51cYBspEFj8lDMNyUYaqOCp4g7E9yNBp31yXY~-1~-1~-1'}, {'domain': '.louisvuitton.com', 'expiry': 1650818949, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.902468197.1616690950'}, {'domain': '.louisvuitton.com', 'expiry': 1616692750, 'httpOnly': False, 'name': 'qb_session', 'path': '/', 'secure': False, 'value': '1:1:21:EbFa=B&E34W=B&E340=B&FDMk=B:0:XhqSi1O:0:0:0:0:.louisvuitton.com'}, {'domain': '.louisvuitton.com', 'expiry': 1616694548, 'httpOnly': True, 'name': 'AKA_A2', 'path': '/', 'secure': True, 'value': 'A'}, {'domain': '.louisvuitton.com', 'expiry': 1648226949, 'httpOnly': False, 'name': 'qb_generic', 'path': '/', 'secure': False, 'value': 'qb-bis-modal-viewed=0=Z0m/o2G:XhqSi7G:.louisvuitton.com'}, {'domain': '.louisvuitton.com', 'httpOnly': True, 'name': 'SGID', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'sb.springboot71-prd'}, {'domain': '.louisvuitton.com', 'expiry': 1616692750, 'httpOnly': False, 'name': '_cs_s', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': '1.1'}, {'domain': 'us.louisvuitton.com', 'httpOnly': False, 'name': 'ak_cc', 'path': '/', 'secure': False, 'value': 'US'}]
错误:
Traceback (most recent call last):
File "trial.py", line 66, in <module>
t = s.get("https://api.louisvuitton.com/api/eng-us/catalog/availability/M80016",headers=headers3,cookies=cookies)
File "/usr/local/lib/python3.8/site-packages/requests-2.24.0-py3.8.egg/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests-2.24.0-py3.8.egg/requests/sessions.py", line 516, in request
prep = self.prepare_request(req)
File "/usr/local/lib/python3.8/site-packages/requests-2.24.0-py3.8.egg/requests/sessions.py", line 437, in prepare_request
cookies = cookiejar_from_dict(cookies)
File "/usr/local/lib/python3.8/site-packages/requests-2.24.0-py3.8.egg/requests/cookies.py", line 524, in cookiejar_from_dict
cookiejar.set_cookie(create_cookie(name, cookie_dict[name]))
TypeError: list indices must be integers or slices, not dict
任何帮助都将不胜感激。
使用RequestsCookieJar怎么样:
c_jar = requests.cookies.RequestsCookieJar()
for cookie in cookies:
c_jar.set(cookie['name'], cookie['value'], domain=cookie['domain'], path=cookie['path'])
t = s.get("https://api.louisvuitton.com/api/eng-us/catalog/availability/M80016",headers=headers3,cookies=c_jar)
问题内容: 我有两个列表,我想合并到一个数组中,最后将其放入一个csv文件中。我是使用Python数组的新手,但我不明白如何避免出现此错误: 并得到: 我的计数工作如何? 问题答案: 首先,应为整数而不是字符串: 其次,您的循环应使用构造: 第三,将自动增加,因此删除以下行: 注意,给定两个列表的长度相同,它们也可以只是两个列表:
问题内容: 我目前正在尝试从发布请求响应中解析一些数据,并且不断收到此错误:“ TypeError:列表索引必须是整数或切片,而不是str” Python代码 JSON回应 我做了类似的代码,但这是一个get请求,一切都很好。 问题答案: 是一个数组,因此您不需要int,可以在after之后添加,它应该可以工作。然后,您可以在中引用对象内的键。
我目前正试图解析get请求响应中的一些数据,但我一直遇到这样的错误:“TypeError:列表索引必须是整数或片,而不是str” 如果有人能帮我解决我想解决的问题,那就太好了。提前非常感谢你。
问题内容: 我的json文件看起来像这样,我正在尝试在for循环中访问元素。 我这样做是这样的: 但是我收到错误消息:“ TypeError:列表索引必须是整数,而不是dict”。我是python(和json)的新手。有人可以建议我要去哪里错吗? 问题答案: 您遍历该 值 通过引用的名单, 没有 指标。 只需 直接 使用这些值(字典): 您可能想给它一个更有意义的循环名称:
问题内容: 我正在学习使用Python和API(特别是此世界杯API,http://www.kimonolabs.com/worldcup/explorer) JSON数据如下所示: 我只是试图打印此API中的所有名字。这是我所拥有的: 但是当我运行它时,出现错误“ … TypeError,… TypeError:列表索引必须是整数,而不是str”。 我四处寻找解决方案,但似乎发现了更多“更深入”
我一直得到错误: TypeError:列表索引必须是整数或片,而不是元组 尽管如此,就我有限的理解而言,列表索引是一个整数。 此代码: 给我上面的TypeError。 虽然当我这样做的时候: 这是怎么回事?