首页 >后端开发 >Python教程 >如何使用 Python 的 Requests 库伪造浏览器访问?

如何使用 Python 的 Requests 库伪造浏览器访问?

Patricia Arquette
Patricia Arquette原创
2024-11-11 22:09:03206浏览

How to Fake a Browser Visit with Python's Requests Library?

如何使用 Python 的 Requests 库伪造浏览器访问

当使用 Python 的 Requests 包或 wget 命令等工具以编程方式访问网站时,您与通过网络浏览器访问网站时相比,检索到的 HTML 内容可能会出现差异。这种差异源于这样一个事实:网站通常采用机制来区分真正的浏览器访问和自动请求。

克服这一挑战的一种有效方法是通过提供“User-Agent”标头来模拟合法的浏览器访问在你的要求中。此标头包含有关所使用的特定浏览器和版本的信息,这有助于网站将其识别为人类发起的访问。

要使用 Python 的 Requests 库实现此解决方案,请按照以下步骤操作:

  1. 导入请求模块。
  2. 定义您要访问的网站的 URL。
  3. 创建具有以下键值对的标头字典:“User-Agent”:“Mozilla/5.0(Macintosh;Intel Mac OS X 10_10_1)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/39.0.2171.95 Safari/537.36”。这是 Google Chrome 的常见用户代理字符串的示例。
  4. 使用 requests.get() 方法向网站发送 GET 请求,并传入 headers 字典作为参数。
  5. 响应对象包含 HTML 内容,可以使用 .content 访问该内容。

示例代码:

import requests

url = 'http://www.ichangtou.com/#company:data_000008.html'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}

response = requests.get(url, headers=headers)
print(response.content)

作为参考,这里提供了不同浏览器的用户代理字符串的完整列表:

[所有浏览器列表](https://deviceatlas.com/ blog/list-of-user-agent-strings)

或者,您可以使用 fake-useragent 第三方包,这可以简化流程生成真实的用户代理字符串。下面是它的用法演示:

from fake_useragent import UserAgent

ua = UserAgent()
request_headers = {'User-Agent': ua.chrome}

以上是如何使用 Python 的 Requests 库伪造浏览器访问?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn