python - Python Webscraping 错误 ('Connection aborted.', OSError("(10060, 'WSAETIMEDOUT')"))
问题描述
我正在使用 Python 3.X 使用 Opera 版本 67.0.3575.137 从 Jupyter Notebook 中的网站提取数据。下面是一个简单的代码
import requests
import json
import pandas as pd
from datetime import datetime
from datetime import timedelta
pd.options.display.float_format = '{:20,.2f}'.format
pd.set_option('display.max_colwidth', None)
import numpy as np
url="https://www.nseindia.com/market-data/exchange-traded-funds-etf"
headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36 OPR/67.0.3575.137"}
r=requests.get(url, headers=headers)
r.status_code
# df1=pd.DataFrame().from_records(r['data'])
但我收到以下错误
C:\ProgramData\Anaconda\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
496
497 except (ProtocolError, socket.error) as err:
--> 498 raise ConnectionError(err, request=request)
499
500 except MaxRetryError as e:
ConnectionError: ('Connection aborted.', OSError("(10060, 'WSAETIMEDOUT')"))
请帮助解决此问题,因为无法弄清楚为什么它会给出错误,而相同的 URL https://www.nseindia.com/market-data/exchange-traded-funds-etf在浏览器中运行良好。
谢谢
解决方案
我从我的电脑上运行了你的代码,它运行没有错误。我得到了一个 status_code=200 你应该检查一下 Jupyter notebook 的权限设置。
WSAETIMEDOUT 错误意味着连接方在一段时间后没有正确响应。
推荐阅读
- angular - 在 (click) angular 5 中包含两个函数
- r - ggplot 中的颜色,提供给离散比例的连续值
- python - 如何在 Spark RDD 中比较不区分大小写的字符串?
- http - 使用 ipv6 的邮递员 GET 请求
- python - TensorFlow:可训练标志 - tf.nn.conv2d vs tf.layers.conv2d
- php - 如何在不使用 php oracle 循环的情况下仅获取 1 行
- javascript - 如何使用 Object.assign() 函数复制/覆盖对象?
- android - 禁用状态栏拉入奥利奥
- python - 为什么不在 python 中的 pandas 列中显示正确的值?
- xml - 如何使用 XSLT 删除 XML 中不需要的声明?