【发布时间】:2020-04-09 10:30:13
【问题描述】:
我有一个 python 脚本,它利用 pd.read_html 将 DataFrame 数据包含在网页上。该脚本还将不同的日期循环到 url 中,以便我可以读取多天的数据。我知道我的脚本的语法是正确的,但是当我在有代理的公司运行它时,它失败了。这是特定的 URL 和代理失败的行:
url = r'https://services.tcpl.ca/cor/public/gdsr/GdsrNGTLImperial20191216.htm'
df = pd.read_html(url)
我认为我需要向脚本提供代理信息。
我已使用以下方法通过代理传递其他脚本,但它不适用于我的 pandas scrape:
import os
proxy = "http://proxy-xxxx-xxx:85"
os.environ['http_proxy'] = proxy
我也将它用于请求脚本,但它不适用于 pandas 我不认为 pandas.read_html() 有一个参数可以让您通过请求之类的代理:
http_proxy = 'http://proxy-xxxx-xxx:85'
https_proxy = 'https://proxy-xxxx-xxx:85'
proxy_Dict = { 'http' : http_proxy,
'https' : https_proxy,
}
url = (r'http://www.tccustomerexpress.com/alberta/dashboard/ngtldash7days.csv')
r = requests.get(url, proxies=proxy_Dict).text
我对代理和 pandas 的工作方式相当陌生,因此我很感激任何信息。我不知道 pandas 是在后台使用 requests 还是 urllib3,但如果有办法先用代理“握手”网站,然后使用 pandas.read_html(),那就太棒了。
感谢您的宝贵时间!
【问题讨论】:
标签: python html pandas http-proxy