我试图登录我的大学网站,然后从中删除数据,(暂时只是欢迎页面的源代码)但是我现在得到这个跟踪追溯..
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()
这是代码..
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)
帮助确实非常适合..
更新
所以,做,
soup = BeautifulSoup(opens.text, 'lxml')
print(soup)
给了我这个..
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
答案 0 :(得分:5)
BeautifulSoup需要返回的内容,而不是完整的响应。尝试使用opens.text
:
opens = r.post(url=url, data=data)
soup = BeautifulSoup(opens.text, 'lxml')
print(soup)
答案 1 :(得分:0)
要详细检查问题,可以使用Wireshark。
或者您可以重新请求或重新连接。