Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python请求库将Cookie请求为JSON,以便格式化为数据帧_Python_Dataframe_Cookies_Python Requests_Http Post - Fatal编程技术网

使用Python请求库将Cookie请求为JSON,以便格式化为数据帧

使用Python请求库将Cookie请求为JSON,以便格式化为数据帧,python,dataframe,cookies,python-requests,http-post,Python,Dataframe,Cookies,Python Requests,Http Post,我正在尝试使用Python请求,使用POST请求和JSON请求参数从网站检索cookie 我使用的是KNIME,它允许您将响应作为数据帧输出。当我请求cookie并尝试将其输出为数据帧时,使用以下代码: from pandas import DataFrame import requests session = requests.Session() url = "https://api.danmurphys.com.au/apis/ui/Address/SetFavouriteSt

我正在尝试使用Python请求,使用POST请求和JSON请求参数从网站检索cookie

我使用的是KNIME,它允许您将响应作为数据帧输出。当我请求cookie并尝试将其输出为数据帧时,使用以下代码:

from pandas import DataFrame
import requests

session = requests.Session()

url = "https://api.danmurphys.com.au/apis/ui/Address/SetFavouriteStore"
payload = {"StoreNo":"1276"}

x = session.post(url, json=payload)

output_table = DataFrame(x.cookies)
x = session.post(url, json=payload)
res = session.cookies.get_dict()

output_table = DataFrame(res)
,我得到以下错误:

Execute failed: No serializer extension having the id or processing python type "http.cookiejar.Cookie" could be found.
Unsupported column type in column: "0", column type: "<class 'http.cookiejar.Cookie'>".
ValueError: If using all scalar values, you must pass an index
但这会产生以下错误:

Execute failed: No serializer extension having the id or processing python type "http.cookiejar.Cookie" could be found.
Unsupported column type in column: "0", column type: "<class 'http.cookiejar.Cookie'>".
ValueError: If using all scalar values, you must pass an index
如果有人知道如何为数据帧格式化这些cookie,或者如果我应该使用其他库来处理请求,请通知我。谢谢

编辑:使用以下数据帧构造:

output_table = DataFrame(data=session.cookies.get_dict(), index=session.cookies.get_dict(), columns=None, dtype=None, copy=False)

成功输出格式化为DataFrame的Cookie,但值跨行和列复制,如屏幕截图所示

由于ValueError指向使用索引传递所有标量值,因此您可以执行以下操作:

from pandas import DataFrame
import requests

session = requests.Session()

url = "https://api.danmurphys.com.au/apis/ui/Address/SetFavouriteStore"
payload = {"StoreNo":"1276"}

x = session.post(url, json=payload)
res = session.cookies.get_dict()
output_table = DataFrame({'data':res})#pass res as a dictionary value

由于ValueError指向通过索引传递所有标量值,因此您可以执行以下操作:

from pandas import DataFrame
import requests

session = requests.Session()

url = "https://api.danmurphys.com.au/apis/ui/Address/SetFavouriteStore"
payload = {"StoreNo":"1276"}

x = session.post(url, json=payload)
res = session.cookies.get_dict()
output_table = DataFrame({'data':res})#pass res as a dictionary value

你能解释一下这条线放在哪里吗?我似乎无法让它工作。请尝试将它传递到
DataFrame
构造函数中。它将返回dict name/value.Ok这在一定程度上是有效的,以下构造函数:
output\u table=DataFrame(data=session.cookies.get\u dict(),index=session.cookies.get\u dict(),columns=None,dtype=None,copy=False)
,但是会产生重复的值-我会在我的问题中发布一个屏幕截图来演示。你能解释一下这条线放在哪里吗?我似乎无法让它工作。请尝试将它传递到
DataFrame
构造函数中。它将返回dict name/value.Ok这在一定程度上起了作用,以下构造函数:
output\u table=DataFrame(data=session.cookies.get\u dict(),index=session.cookies.get\u dict(),columns=None,dtype=None,copy=False)
,但会产生重复的值-我将在问题中发布一个屏幕截图来演示。