lxml支持代理吗?

2 投票
1 回答
895 浏览
提问于 2025-04-18 15:28

我在公司网络的代理后面,想使用 lxml 这个库。但是我找不到关于 lxml 支持代理的任何资料(就像 urllib2 有的那样)。请问 lxml 能通过代理访问网络吗?有没有什么解决办法?

1 个回答

1

所以你需要通过代理下载一些xml文件,然后用lxml来解析它,对吧?

首先,使用Python的requests库来下载xml页面。这个库支持代理:

import requests

proxies = {
  "http": "http://10.10.1.10:3128",
  "https": "http://10.10.1.10:1080",
}

requests.get("http://example.org", proxies=proxies)

关于它的设置更多信息可以查看这里: http://docs.python-requests.org/en/latest/user/advanced/#proxies

然后用lxml来解析这个xml文件。或者你也可以使用BeautifulSoup4,这个可能更适合你的需求。如果你安装了lxml,它会用lxml作为解析引擎。使用示例:

from bs4 import BeautifulSoup

html = "<body></body>"
x = BeautifulSoup(html, "xml")         # Note the xml as second argument.

撰写回答