如何解决requests.get 在链接上停滞,PoolManager.request 不会
所以我在尝试抓取网页时遇到过几次这个问题。
这个网页有一些我想抓取的 URL,但他们没有在他们的 HTML 中保留原始 URL,而是他们自己的重定向 URL(我认为这样更难抓取)。
我更喜欢使用 requests
(解释原因如下),但在某些链接上它只是在无限循环中运行。
import requests
from urllib3 import PoolManager
link = "https://www.somedomain-which-creates-its-own-links/01923o84"
rurl = http.requests("GET",link) #works --> https://www.anotherdomain.com/t-shirt
req = requests.get(link) #Spins forever
我想使用 requests
的原因是,如果链接重定向到一个不存在的页面,例如 https://www.anotherdomain/404
,我无法从 urllib
获取完整网址
rurl.get_url() # '/404'
req.url # 'https://www.anotherdomain/404'
我需要提取完整的 url,即使它是 404。
所以,
- 为什么
requests
会停止,我可以设置超时(比如 5 秒)吗? - 为什么
urllib
不给我重定向时的完整网址?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。