获取 txt 文件的请求不适用于本地主机,但适用于 google colab
Get request for txt file doesn't work on local host , but works on google colab
我正在尝试从交易所下载 txt/csv 文件。
我已确定此 url 包含信息。
该代码适用于 google colab,但不适用于本地 Jupiter notebook。
如果不被打断和returns打断,单元格只会保持运行没有结果。
站点限制尝试次数。
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)
我正在尝试从交易所下载 txt/csv 文件。
我已确定此 url 包含信息。
该代码适用于 google colab,但不适用于本地 Jupiter notebook。
如果不被打断和returns打断,单元格只会保持运行没有结果。
站点限制尝试次数。
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)