Saya mencoba masuk ke situs web kampus saya dan kemudian menghapus datanya, (hanya kode sumber halaman selamat datang untuk saat ini) tetapi saya mendapatkan ini traceback berikut ini ..

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()  

Ini kodenya..

 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)

Bantuannya sangat dihargai..

PERBARUI

JADI, lakukan,
soup = BeautifulSoup(opens.text, 'lxml')
print(soup)

Memberiku ini..

  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
2
P.hunter 16 Maret 2017, 17:57

2 jawaban

Jawaban Terbaik

BeautifulSoup membutuhkan konten yang dikembalikan, bukan respons yang lengkap. Coba gunakan opens.text:

opens = r.post(url=url, data=data)
soup = BeautifulSoup(opens.text, 'lxml')
print(soup)
5
Pit 16 Maret 2017, 15:00

Saya memiliki kesalahan itu sebelumnya, dan saya punya jawabannya. ada banyak penyebab kesalahan itu. Ini dapat disebabkan oleh dua sisi koneksi yang tidak setuju apakah koneksi habis atau tidak selama keepalive.

Untuk memeriksa masalah secara detail, Anda dapat menggunakan Wireshark.

Atau Anda bisa meminta ulang atau menyambungkan kembali.

0
NINO Cikoo 16 Maret 2017, 16:40