You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:Python爬取WordPress后台回电请求页面数据

解决WordPress后台页面请求返回登录页的问题

WordPress后台默认不支持requests的auth参数对应的HTTP基本认证,而是通过表单登录+会话Cookie维持权限,所以直接用auth参数请求会被重定向到登录页。下面是正确的实现方案:

核心思路

  1. 用requests.Session()维持会话,自动保存登录后的Cookie
  2. 先访问登录页面,提取必要的登录验证字段(如_wpnonce)
  3. 提交登录表单完成身份认证
  4. 用已认证的会话请求目标"回电请求"页面
  5. 用BeautifulSoup解析页面提取姓名和电话数据

完整代码示例

import requests
from bs4 import BeautifulSoup

# 配置信息
WP_LOGIN_URL = "https://mywebsite.com/wp-login.php"
TARGET_PAGE_URL = "https://mywebsite.com/wp-admin/admin.php?page=ar-contactus-key-requests&paged=1"
USERNAME = "你的用户名"
PASSWORD = "你的密码"

# 创建会话对象,自动管理Cookie
session = requests.Session()

# 1. 获取登录页面,提取_wpnonce验证字段
login_page = session.get(WP_LOGIN_URL)
soup_login = BeautifulSoup(login_page.text, "html.parser")
wp_nonce = soup_login.find("input", {"name": "_wpnonce"})["value"]

# 2. 构造登录表单数据
login_data = {
    "log": USERNAME,
    "pwd": PASSWORD,
    "wp-submit": "登录",  # 英文WP需改为"Log In"
    "redirect_to": TARGET_PAGE_URL,
    "_wpnonce": wp_nonce,
    "testcookie": "1"
}

# 3. 提交登录请求
session.post(WP_LOGIN_URL, data=login_data)

# 4. 请求目标页面
target_response = session.get(TARGET_PAGE_URL)

# 验证登录状态并提取数据
if "wp-admin" in target_response.url and "登录" not in target_response.text:
    print("登录成功,开始提取数据")
    soup_target = BeautifulSoup(target_response.text, "html.parser")
    
    # 需根据页面实际HTML结构调整选择器,示例假设数据在表格行中
    request_rows = soup_target.find_all("tr")[1:]  # 跳过表头行
    for row in request_rows:
        cols = row.find_all("td")
        if len(cols) >= 2:
            name = cols[0].get_text(strip=True)
            phone = cols[1].get_text(strip=True)
            print(f"姓名: {name}, 电话: {phone}")
else:
    print("登录失败,请检查用户名、密码或站点配置")

注意事项

  • 表单字段适配:如果是英文WordPress,wp-submit的值要改为"Log In";若登录页面有其他隐藏字段,需根据实际HTML补充到login_data中
  • 安全插件拦截:若站点安装了Wordfence等安全插件,可能触发人机验证,需手动处理验证或调整插件规则
  • 选择器调整:提取姓名和电话的CSS选择器需匹配目标页面的实际HTML结构,可通过浏览器开发者工具查看元素类名/ID来编写准确选择器

内容的提问来源于stack exchange,提问作者Arash Rafiee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:33:21