BrowserForge 是一款功能强大的 Python 包,旨在简化浏览器自动化和网页抓取。它允许您管理浏览器标头,处理复杂交互,并简化浏览器任务的自动化。本指南将提供有关如何安装、配置和使用 BrowserForge 的完整演练,并提供示例以帮助您高效地开始自动化浏览器交互。
什么是 BrowserForge?
BrowserForge 是一个 Python 库,它有助于自动执行浏览器任务,例如网页抓取、自动表单提交或通过动态管理标头绕过限速措施。凭借其模块化方法,它为需要控制脚本如何与网页交互的初学者和高级开发人员提供了灵活性。
安装 BrowserForge
要安装 BrowserForge,请使用以下命令:
pip install browserforge
您也可以直接从官方存储库下载 BrowserForge:
BrowserForge 还需要其他库(具体取决于您的项目),例如 requests
和 random
。如果您打算将它们与 BrowserForge 结合使用,请务必安装它们。
pip install requests
基本用法
安装 BrowserForge 后,您就可以开始使用其核心功能。BrowserForge 提供的最重要的功能是标头管理,它允许您轮换用户代理、更改浏览器签名,并在网页抓取过程中避免被阻止。
难以反复解决令人讨厌的验证码?
使用 Capsolver 的 AI 驱动的自动网络解除封锁技术,体验无缝自动验证码解决!
索取您的 奖励代码 用于顶级验证码解决方案;CapSolver:WEBS。兑换后,您每次充值后将获得额外的 5% 奖励,不限次数
标头管理
网站阻止抓取程序的主要原因之一是缺少适当的标头。BrowserForge 允许您生成真实的标头,其中包括浏览器版本、操作系统和其他必要字段。
以下是一个入门示例:
from browserforge.headers import HeaderGenerator
# 初始化 HeaderGenerator
headers = HeaderGenerator()
# 生成随机标头
random_header = headers.generate()
print(random_header)
这将打印一组类似于以下内容的标头:
{
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9"
}
您可以在抓取网站时将此标头传递到您的请求中,以模拟真实的浏览器活动。
代理
为了避免 IP 限速,您还可以使用代理。您可以使用 BrowserForge 对代理进行格式化和轮换。以下是一个简单的代理格式化函数:
def format_proxy(proxy_str):
proxy_data = {
"http": f"http://{proxy_str}",
"https": f"http://{proxy_str}"
}
return proxy_data
您可以将其集成到您的请求中,如下所示:
import requests
proxy = 'username:password@proxy_address:port'
proxies = format_proxy(proxy)
response = requests.get('https://example.com', proxies=proxies)
print(response.text)
高级功能
BrowserForge 支持更高级的用例,例如解决 CAPTCHA 挑战和处理复杂的浏览器交互。
整合 CapSolver 以解决 hCaptcha
BrowserForge 可以与 CapSolver 等第三方服务结合使用,以自动解决 CAPTCHA。以下是如何使用 CapSolver 解决 hCaptcha 的示例。
-
设置您的环境:
您需要安装requests
来进行 HTTP 请求,并且您需要一个 CapSolver API 密钥。pip install requests
-
脚本示例:
此脚本演示了如何使用 CapSolver 创建任务以解决 hCaptcha,从页面中提取所需参数,并提交验证码令牌。
import time
import requests
import re
from browserforge.headers import HeaderGenerator
import logging
# 配置日志记录
logging.basicConfig(level=logging.INFO)
# CapSolver API 密钥
api_key = "YOUR_CAPSOLVER_API_KEY"
# 函数用于创建 CapSolver 任务并获取令牌
def get_token():
task_data = {
"clientKey": api_key,
"task": {
"type": "HCaptchaTaskProxyless",
"websiteURL": "https://example.com/captcha-page",
"websiteKey": "your_hcaptcha_site_key"
}
}
# 创建任务
response = requests.post("https://api.capsolver.com/createTask", json=task_data)
task_id = response.json().get("taskId")
if task_id:
logging.info(f"Task created: {task_id}")
# 轮询结果
while True:
result_data = {
"clientKey": api_key,
"taskId": task_id
}
time.sleep(5) # 在轮询之前等待
result_response = requests.post("https://api.capsolver.com/getTaskResult", json=result_data)
result = result_response.json()
if result.get("status") == "ready":
token = result.get("solution").get("gRecaptchaResponse")
logging.info(f"Captcha solved successfully: {token}")
return token
elif result.get("status") == "failed":
logging.error("Captcha solving failed")
return None
else:
logging.error("Failed to create task")
return None
此脚本通过将验证码解决请求发送到 CapSolver、轮询结果并在解决 CAPTCHA 后返回令牌来工作。
您可以将其集成到您的 BrowserForge 脚本中,以自动抓取受保护的网站或提交被 hCaptcha 阻止的表单。
示例:自动执行表单提交
以下是一个完整示例,展示了如何使用 BrowserForge 和上面的 CapSolver 示例自动执行表单提交。
from browserforge.headers import HeaderGenerator
import requests
import logging
# 初始化日志记录
logging.basicConfig(level=logging.INFO)
# 示例函数用于提交表单
def submit_form():
# 使用 BrowserForge 生成标头
headers = HeaderGenerator().generate()
# 从 CapSolver 获取令牌(如上所示)
token = get_token()
if token is None:
logging.error("Failed to solve captcha")
return
# 表单提交的示例数据有效负载
form_data = {
'name': 'John Doe',
'email': 'johndoe@example.com',
'captcha_token': token # 在此处使用已解决的验证码令牌
}
# 提交表单的 URL
url = 'https://example.com/submit'
# 进行表单提交请求
response = requests.post(url, headers=headers, data=form_data)
# 记录响应
logging.info(f"Form submitted: {response.status_code}, {response.text}")
# 运行表单提交
submit_form()
此脚本:
- 使用 BrowserForge 生成标头以模拟真实浏览器。
- 使用 CapSolver 解决 hCaptcha。
- 使用 CAPTCHA 令牌提交表单。
最后的想法
BrowserForge 是一个用于浏览器自动化的强大库,尤其是在与用于解决 CAPTCHA 的 CapSolver 等工具配对时。通过管理标头、轮换代理和与外部服务的交互,您可以轻松构建强大的抓取或浏览器自动化解决方案。
无论您是希望自动执行表单提交、高效地抓取网站还是解决 CAPTCHA,BrowserForge 都提供了完成任务的构建块。
有关更多信息,请访问 官方 BrowserForge GitHub 存储库。
CapsolverCN官 方代理交流扣 群:497493756