Ошибки указателя на получение запроса Python при попытке запросить данные веб-сайта

#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')