1

Ich versuche mich auf meiner College-Website anzumelden und dann Daten daraus zu verwerfen (nur der Quellcode der Willkommensseite vorerst), aber ich bin erhalten dieses diese Zurückverfolgungs folgende ..TypeError: Objekt vom Typ 'Response' hat keine Länge() [BeautifulSoup]

Traceback (most recent call last): 
    File "C:/Users/HUNTER/PycharmProjects/Encryption/erp.py", line 16, in <module> 
    soup = BeautifulSoup(opens, 'lxml') 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35-32\lib\site-packages\bs4\__init__.py", line 192, in __init__ 
    elif len(markup) <= 256 and (
    TypeError: object of type 'Response' has no len() 

hier der Code ..

import requests 
from requests import session 
from bs4 import BeautifulSoup 

url = 'http://erp.college_name.edu/' 

r = requests.session() 
data = { 

    'tbUserName': 'username', 
    'tbPassword': 'password' 

} 

opens = r.post(url=url, data=data) 
soup = BeautifulSoup(opens, 'lxml') 
print(soup) 

Hilfe wirklich appriciated ist ..

UPDATE

SO, tun,
soup = BeautifulSoup(opens.text, 'lxml')
print(soup)

gab mir dies ..

C:\Users\HUNTER\AppData\Local\Programs\Python\Python35-32\python.exe  
    C:/Users/HUNTER/PycharmProjects/Encryption/erp.py 
    Traceback (most recent call last): 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35-32\lib\site- 
    packages\requests\packages\urllib3\response.py", line 232, in  
    _error_catcher 
    yield 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\site-packages\requests\packages\urllib3\response.py", line 314, in 
    read 
    data = self._fp.read(amt) 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\http\client.py", line 448, in read 
    n = self.readinto(b) 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\http\client.py", line 488, in readinto 
    n = self.fp.readinto(b) 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\socket.py", line 575, in readinto 
    return self._sock.recv_into(b) 

    ConnectionResetError: [WinError 10054] An existing connection was  
    forcibly closed by the remote host 


    During handling of the above exception, another exception occurred: 

     Traceback (most recent call last): 
     File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35-  
     32\lib\site-packages\requests\models.py", line 676, in generate 
    for chunk in self.raw.stream(chunk_size, decode_content=True): 
     File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
     32\lib\site-packages\requests\packages\urllib3\response.py", line 357, 
    in stream 
    data = self.read(amt=amt, decode_content=decode_content) 
     File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 

     32\lib\site-packages\requests\packages\urllib3\response.py", line 
     324, in read 
    flush_decoder = True 
     File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
     32\lib\contextlib.py", line 77, in __exit__ 
self.gen.throw(type, value, traceback) 
     File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35-  
    32\lib\site- 
    packages\requests\packages\urllib3\response.py", line 250, in 
    _error_catcher 
    raise ProtocolError('Connection broken: %r' % e, e) 
    requests.packages.urllib3.exceptions.ProtocolError: ("Connection broken:  
ConnectionResetError(10054, 'An existing connection was forcibly closed by  
    the remote host', None, 10054, None)", ConnectionResetError(10054, 'An 
    existing connection was forcibly closed by the remote host', None,  
    10054, None)) 

    During handling of the above exception, another exception occurred: 

    Traceback (most recent call last): 
    File "C:/Users/HUNTER/PycharmProjects/Encryption/erp.py", line 15, in <module> 
opens = r.post(url=url, data=data) 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\site-packages\requests\sessions.py", line 522, in post 
return self.request('POST', url, data=data, json=json, **kwargs) 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
32\lib\site-packages\requests\sessions.py", line 475, in request 
resp = self.send(prep, **send_kwargs) 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\site-packages\requests\sessions.py", line 628, in send 
r.content 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35- 
    32\lib\site-packages\requests\models.py", line 755, in content 
self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or 

bytes() 
    File "C:\Users\HUNTER\AppData\Local\Programs\Python\Python35-32\lib\site- 
    packages\requests\models.py", line 679, in generate 
raise ChunkedEncodingError(e) 

    requests.exceptions.ChunkedEncodingError: ("Connection broken: 

ConnectionResetError(10054, 'An existing connection was forcibly closed by  

the  
remote host', None, 10054, None)", ConnectionResetError(10054, 'An existing 
connection was forcibly closed by the remote host', None, 10054, None)) 

    Process finished with exit code 1 

Antwort

3

BeautifulSoup erfordert den zurückgegebenen Inhalt, nicht die komplette Antwort. Versuchen Sie opens.text mit:

opens = r.post(url=url, data=data) 
soup = BeautifulSoup(opens.text, 'lxml') 
print(soup) 
0

ich hatte diesen Fehler vor, und ich hatte die Antwort. gibt es viele Ursachen für diesen Fehler. Dies kann dadurch verursacht werden, dass die beiden Seiten der Verbindung nicht darüber entscheiden, ob während einer Keepalive-Verbindung die Verbindung abgelaufen ist oder nicht.

Um das Problem im Detail zu untersuchen, können Sie Wireshark verwenden.

oder Sie können einfach erneut anfordern oder erneut verbinden.

+0

ja es als Netzwerk-Problem .. danke –

Verwandte Themen