For the complete documentation index, see llms.txt. This page is also available as Markdown.

如何为 PyQuery 设置 IPWO 代理

学习如何结合 PyQuery 和 Requests 使用 IPWO 住宅代理进行网页数据提取。

PyQuery 是一个基于 jQuery 语法设计的 Python HTML 解析库,能够像操作 jQuery 一样解析和提取网页内容,广泛应用于数据采集、网页信息提取和自动化任务。由于 PyQuery 本身不负责发送网络请求,因此通常配合 Requests 等 HTTP 库使用,并通过 Requests 配置 IPWO 动态住宅代理完成网页访问。


一、准备工作

开始配置前,请确保已完成以下准备:

  • 已安装 Python 3

  • 已安装 PyQuery

  • 已安装 Requests

  • 已创建 Zone

  • 已获取代理用户名、密码和代理地址

如果尚未安装相关依赖,可执行:

pip install pyquery requests

二、配置 IPWO 代理

使用 Requests 获取网页内容,再交由 PyQuery 进行解析。

示例代码:

import requests
from pyquery import PyQuery as pq

proxies = {
    "http": "http://username_custom_zone_us:password@us.ipwo.net:7878",
    "https": "http://username_custom_zone_us:password@us.ipwo.net:7878"
}

response = requests.get(
    "https://example.com",
    proxies=proxies,
    timeout=15
)

doc = pq(response.text)

print(doc("title").text())

请根据自己的账户信息替换以下内容:

参数
说明

username_custom_zone_us

代理用户名

password

代理密码

us.ipwo.net

代理服务器地址

7878

代理端口


三、解析网页内容

PyQuery 提供了类似 jQuery 的选择器语法,可以快速提取网页元素。

获取所有链接:

获取文章标题:

获取指定内容:

这种写法与前端开发常用的 jQuery 语法类似,学习成本较低。


四、测试代理是否生效

建议首次配置完成后,先访问 IP 检测接口验证代理是否生效。

示例:

正常情况下会返回类似结果:

如果返回的公网 IP 已发生变化,并且国家地区符合配置,则说明代理已经配置成功。


五、固定 Session(可选)

如果业务需要保持同一个出口 IP,可以在用户名中增加 Session 参数。

例如:

使用相同的 Session 发起请求时,会尽可能保持同一个住宅 IP,适用于账号登录、连续访问和长期采集等业务场景。

更多内容可参考《Session 使用说明》。


六、使用建议

为了获得更稳定的采集效果,建议:

  • 为请求设置合理的超时时间

  • 控制请求频率,避免短时间大量访问

  • 登录类业务建议使用固定 Session

  • 根据目标业务选择对应国家地区

  • 增加 Retry 重试机制,提高请求成功率

  • 采集大量页面时适当增加请求间隔


七、常见问题

返回 407 Proxy Authentication Required

请检查:

  • 用户名是否正确

  • 密码是否正确

  • Zone 是否配置正确


请求超时(Timeout)

请检查:

  • 当前网络是否能够访问代理节点

  • timeout 设置是否过低

  • 网络连接是否稳定


页面解析失败

请检查:

  • 请求是否成功返回 HTML 页面

  • 目标网站是否启用了反爬机制

  • 是否返回了验证码或错误页面

建议先输出:

确认返回内容正常后,再进行页面解析。


返回的 IP 未变化

请确认:

  • proxies 参数是否正确配置

  • 用户名、密码是否填写正确

  • 请求是否真正通过代理发送


八、相关文章

Last updated

Was this helpful?