Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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中让请求等待302重定向完成?_Python_Http_Python Requests_Http Status Code 302 - Fatal编程技术网

如何在Python中让请求等待302重定向完成?

如何在Python中让请求等待302重定向完成?,python,http,python-requests,http-status-code-302,Python,Http,Python Requests,Http Status Code 302,我对网络抓取还不熟悉,我正试图从网站上获取一些数据,但当你进入它时,会有一个等待队列(当我在真正的浏览器中尝试时,可能会等待15秒),这是另一个url 在Python中使用请求时,我永远不会被重定向到真正的url,即使它是302重定向(应该是临时的) 使用此代码: s = requests.Session() r = s.get(store, allow_redirects=True, headers=headers) print(r.status_code) print(r.history)

我对网络抓取还不熟悉,我正试图从网站上获取一些数据,但当你进入它时,会有一个等待队列(当我在真正的浏览器中尝试时,可能会等待15秒),这是另一个url

在Python中使用请求时,我永远不会被重定向到真正的url,即使它是302重定向(应该是临时的)

使用此代码:

s = requests.Session()
r = s.get(store, allow_redirects=True, headers=headers)
print(r.status_code)
print(r.history)
我得到:

200
[<Response [302]>]
200
[]
如果我把
allow\u redirects=False
,我只会得到一个空页面。 在使用bs4获取所需数据之前,如何等待等待队列完成并将我重定向到真实站点


我试图每x秒将其插入一个循环中检查
r.url
,但它从未改变。还尝试每x秒
获取一次
,但结果相同。

似乎,响应包含一个执行重定向操作的javascript。。。
所以可能需要从r.text读取重定向url,

您是否尝试过
s.get(store,allow\u redirects=True,timeout=None)
?我刚刚做了,它没有改变任何东西,在等待队列中仍然被阻止。使用tcpdump来找出浏览器有什么不同之处,我刚刚添加了我在这里使用的headers参数,
get
不是应该遵循我的浏览器的操作吗?请检查以下输出:
r=s.get(store,allow\u redirects=False)print(r.status\u code)print(r.text)
r.text只包含等待队列的url,如:
Object moved Object moved to那么,你能试着从一个标签(使用BeautifulSoup)中获取这个“地址”,然后请求它吗