我试图用Python获取网站的HTML源代码。但是,当您访问网站上的任何页面时,都会出现延迟重定向,就像加载屏幕一样。每当我做requests.get(url)
时,我最终会抓住那个加载屏幕,而不是之后发生的事情。我正在使用Requests库。有没有办法让请求等到重定向后?重定向大约需要3秒钟。
以下是我使用的代码:
import Requests
page = requests.get(url)
print(page.text)
答案 0 :(得分:1)
重定向可能是由您的浏览器完成的,而不是由服务器完成的。有两种常见方式:"meta refresh"或Javascript。
对于前者,您可以使用BeautifulSoup之类的内容解析HTML响应,检查元刷新标记,提取目标URL,然后使用第二个请求检索它。
如果使用Javascript完成重定向会更加困难,因为可以通过多种方式完成重定向。
无论哪种方式都有点混乱,所以最好的办法是使用像selenium这样的东西,它基本上允许你编写浏览器脚本,这样你就可以让浏览器为你做元刷新/ javascript重定向。 / p>
答案 1 :(得分:-1)
你可以关闭默认的自动重定向特性,并通过请求r.history中指示的网页获取对象页面,其中存储重定向位置