我正在尝试从交易所下载txt/csv文件。
我已经确定了这个url来包含信息。
这个代码可以在google colab上工作,但不能在本地的Jupiter笔记本上工作。
如果没有中断,单元将继续运行而不产生结果,并返回中断。
站点限制尝试次数.
import requests
import pandas as pd
import io
url = 'http://www.cffex.com.cn/quote_IO.txt'
data = requests.get(url)
CSI300_option = pd.read_csv(io.StringIO(data.content.decode('utf-8')))
CSI300_option
下面是我从开发工具得到的HTTP请求。
GET /quote_IO.txt HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Upgrade-Insecure-Requests: 1
Host: www.cffex.com.cn
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
Accept-Language: en-GB,en;q=0.9
Accept-Encoding: gzip, deflate
Connection: keep-alive
似乎您需要能够在HTTP GET上指定超时。
这是我用来获得成功的最小代码:-
import pandas as pd
import requests
import io
URL = 'http://www.cffex.com.cn/quote_IO.txt'
with requests.Session() as session:
response = session.get(URL, timeout=5)
response.raise_for_status()
df = pd.read_csv(io.StringIO(response.text))
print(df)