如果您将字符串硬编码为变量链接,则无需将其强制转换为 str 类型。
requests.get(link) // is good enough.
另外,如果你想打印响应内容,
print(res.text)
不是很明白这个问题,但是
您可以通过以下方式检查响应状态:
res = requests.get(link)
if res.status_code:
#Bad Code - 400s/500s
else:
#All good
此外,某些网站不允许请求。您可以通过添加带有用户代理的标头并使用会话来尝试变得更加“人性化”。 Session 将保留 cookie。 (有点让它有状态)
session = requests.session()
session.headers['User-Agent'] = "YOUR USER AGENT HERE"
session.get("https://www.amazon.com/")
res = session.get(link)
print(res.text)
某些网站需要 javascript 才能加载页面。如果是这种情况,您将需要使用硒。使用请求不会加载 javascript 页面。
或者如果你想先用 javascript 加载页面,并且想使用请求:
session = requests.session()
session.headers['User-Agent'] = "YOUR USER AGENT HERE"
browser = webdriver.Firefox(executable_path=r'D:\PythonTool\AmzTool\geckodriver.exe')
browser.get(link)
for cookie in driver.get_cookies():
c = {cookie['name']: cookie['value']}
session.cookies.update(c)
browser.close()
res = session.get(link)
print(res.text)