python - URL重定向不适用于请求,Python
问题描述
import requests
def extractlink():
with open('extractlink.txt', 'r') as g:
print("opened extractlink.txt for reading")
contents = g.read()
headers = {'userAgent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
r = requests.get(contents, headers=headers)
print(("Links to " + r.url))
time.sleep (2)
目前,r.url 只是链接到“extractlink.txt”中的 url
我正在寻找修复此脚本以找到最终重定向的 url 并打印结果。尽管尝试了许多替代方法和故障排除步骤,但问题似乎出在 URL 请求的某个地方,但我的问题似乎并没有像其他问题那样得到解决。
调试时,即使链接在浏览器中重定向为 302,也会r.history
读取[]
和r.status_code
读取。403
有任何想法吗?
(extractlink.txt 只是一个包含指向重定向/链接缩短器的链接的单行文件)
解决方案
没有您的数据很难判断,但您的文本文件中可能有一行结尾正在更改 URL。您可能会更改read()
为:
contents = g.readline().strip()
您也可以尝试使用Session
对象执行请求:
with requests.Session() as session:
r = session.get(contents, headers=headers)
推荐阅读
- typescript - 我是否需要购买 IOS 开发 ID 才能通过 protractor for webapp on safari 在 IOS 真机上进行测试?
- regex - 提取包含“=”的斜线之间的文本
- mysql - 如何将计算公式从 Salesforce 转换为 SQL
- python - 加入多个数据框
- android - CSS 样式的自定义字体字体
- javascript - JSLintNet.MSBuild 不允许定义常量字段
- python - 属性图上的约束聚类算法,对其属性有一些聚类级别的约束
- php - 嵌套 Laravel 尝试捕获不抛出内部异常,仅抛出外部异常
- java - java中的@QueryParam或HttpServletRequest
- react-native - 扩展基类使用 Redux 时无法调用和覆盖函数