#python #pointers #python-requests
#python #указатели #python-запросы
Вопрос:
В настоящее время я использую Python 3.7.6, запускаю код в записной книжке Jupyter и пытаюсь получить данные веб-сайта с помощью библиотеки «request», и я получаю ошибку указателя —
Код:
from bs4 import BeautifulSoup
import requests
source = requests.get('http://bvmf.bmfbovespa.com.br/indices/ResumoCarteiraTeorica.aspx?Indice=IBOVamp;idioma=pt-br').text
Ошибка:
OSError: [WinError 10014] - The system detected an invalid pointer address in attempting to use a pointer argument in a call
[...]
NewConnectionError: <urllib3.connection.HTTPConnection object at 0x00000179055507C8>: Failed to establish a new connection: [WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call
[...]
MaxRetryError: HTTPConnectionPool(host='bvmf.bmfbovespa.com.br.x.ecf9251d0725104833087180eb40dc1a5570.9270ee5e.id.opendns.com', port=80): Max retries exceeded with url: /h/bvmf.bmfbovespa.com.br/indices/ResumoCarteiraTeorica.aspx?X-OpenDNS-Session=_ecf9251d0725104833087180eb40dc1a55709270ee5e_JPweB49M_Indice=IBOVamp;idioma=pt-br (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000179055507C8>: Failed to establish a new connection: [WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call'))
[...]
ConnectionError: HTTPConnectionPool(host='bvmf.bmfbovespa.com.br.x.ecf9251d0725104833087180eb40dc1a5570.9270ee5e.id.opendns.com', port=80): Max retries exceeded with url: /h/bvmf.bmfbovespa.com.br/indices/ResumoCarteiraTeorica.aspx?X-OpenDNS-Session=_ecf9251d0725104833087180eb40dc1a55709270ee5e_JPweB49M_Indice=IBOVamp;idioma=pt-br (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000179055507C8>: Failed to establish a new connection: [WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call'))
Примечание: Когда я пытаюсь запустить точно такой же код на своем персональном компьютере, он работает, однако, когда я пытаюсь запустить на своей работе, это не так.
Ответ №1:
На самом деле это была проблема с прокси. После следующего изменения в коде я смог получить доступ к содержимому веб-сайта —
proxies = {
"http": "http://myproxy:myport"
}
source = requests.get('http://bvmf.bmfbovespa.com.br/indices/ResumoCarteiraTeorica.aspx?Indice=IBOVamp;idioma=pt-br', proxies=proxies).text
soup = BeautifulSoup(source, 'html.parser')