ใช้เซสชัน Requests ที่รับรู้พร็อกซีกับ pandas-datareader
ส่งเซสชัน Requests ที่รับรู้พร็อกซีไปยัง DataReader แทนการเปลี่ยนพฤติกรรมโดยรวมของ pandas
pandas-datareader รับเซสชัน Requests สำหรับงาน HTTP ของตน ตัวอย่างเช่น ตัวอ่าน FRED สามารถใช้เซสชันที่แอปพลิเคชันกำหนดค่าไว้ได้:
import requests
from pandas_datareader import data as web
with requests.Session() as session:
session.proxies.update({
"http": "http://proxy.example.net:8080",
"https": "http://proxy.example.net:8080",
})
frame = web.DataReader(
"GDP", "fred", start, end, session=session
)
start และ end คือวันที่ที่แอปพลิเคชันร้องขอ บริบทจะปิดเซสชันหลังจากตัวอ่านทำงานเสร็จ ปลายทาง HTTP สาธารณะที่เลือกจากรายการพร็อกซี HTTPสามารถให้ที่อยู่ในแผนที่พร็อกซีของเซสชันนี้ได้
การผสานรวม Requests กับสภาพแวดล้อมยังคงเปิดอยู่ในตัวอย่างนี้ หากแอปพลิเคชันต้องการเส้นทางที่ชัดเจนโดยไม่ขึ้นกับค่าพร็อกซีของสภาพแวดล้อม ให้ตั้ง session.trust_env=False และจัดหา CA bundle ที่จำเป็นหรือการรับรองความถูกต้องที่ได้จาก .netrc แยกต่างหาก
เลือกตัวอ่านที่เวอร์ชัน pandas-datareader ที่ติดตั้งรองรับ API ของผู้ให้บริการที่ยกเลิกแล้วหรือรูปแบบสัญลักษณ์ที่เปลี่ยนไปอาจล้มเหลวได้แม้การเชื่อมต่อผ่านพร็อกซีจะสำเร็จ การกำหนดเซสชันไม่ได้กู้คืนปลายทางข้อมูลที่ถูกนำออกไป