request.get () застревает - PullRequest
       6

request.get () застревает

0 голосов
/ 17 января 2019

Здравствуйте, я пытаюсь очистить некоторые данные с веб-сайта, и request.get () что-то догоняет. вот мой код:

page_url = front_end+str(i)+'/'
page = requests.get(page_url)

так что я хочу, чтобы это была строка, потому что я просто ввожу URL, и если я остановлю код или он будет выполняться слишком долго, я получу что-то вроде:

File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", 
line 377, in _make_request
    httplib_response = conn.getresponse(buffering=True)
TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 24, in <module>
    page = requests.get(page_url)
  File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 380, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.6/http/client.py", line 1331, in getresponse
    response.begin()
  File "/usr/local/lib/python3.6/http/client.py", line 297, inbegin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.6/http/client.py", line 258, in_read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.6/ssl.py", line 1002, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/local/lib/python3.6/ssl.py", line 865, in read
    return self._sslobj.read(len, buffer)
  File "/usr/local/lib/python3.6/ssl.py", line 625, in read
    v = self._sslobj.read(len, buffer)

Я не понимаю, что означает TypeError: getresponse() got an unexpected keyword argument 'buffering' или как это исправить.

1 Ответ

0 голосов
/ 18 января 2019

Ответ:

Иногда запросы от request.get () блокируются сервером, поэтому решение состоит в том, чтобы заставить сервер думать, что запрос поступает из веб-браузера. Пример:

 headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',}
 page = requests.get("https://example.com", headers=headers)
...