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

如何为Pandas的pd.read_html()传递User-Agent?

替代已弃用urllib2的解决方案

首先推荐用更简洁的requests库处理带自定义User-Agent的请求,代码如下:

import pandas as pd
import requests

url = 'http://finance.yahoo.com/quote/A/key-statistics?p=A'
headers = {'User-agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
tables = pd.read_html(response.text)

如果一定要用urllib3,无需找build_opener()的等效属性,直接通过PoolManager发送请求并设置headers即可:

import pandas as pd
import urllib3

url = 'http://finance.yahoo.com/quote/A/key-statistics?p=A'
headers = {'User-agent': 'Mozilla/5.0'}

http = urllib3.PoolManager()
response = http.request('GET', url, headers=headers)
tables = pd.read_html(response.data.decode('utf-8'))

两种方式都能解决请求被拒绝的问题,同时借助pandas的read_html直接解析页面表格,省去bs4处理的繁琐。

内容的提问来源于stack exchange,提问作者Dadash Vespek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:20:27