工大助手(用户名、密码错误提示)
工大助手(用户名、密码错误提示)
小组讨论
- 按照之前验证码改进的方式将用户名错误以及密码错误添加进去。
- 在桌面版上监听脚本返回的错误信息,并反馈给用户相应错误信息。
- 逐步添加吐槽墙的功能。
改进(错误提示)
今天完成了用户名、密码的错误提示。和验证码错误提示的逻辑相同,当输入错误的用户名或者密码的时候,会返回一个带有alert提示的页面,而我们的任务仍然是将该提示信息爬取下来。
但是遇到了一个新的问题,之前使用的提取方式并不能很好地应对提取不同中文字符串的情况。
之前使用的方式:
soup = BeautifulSoup(result.read(),"html.parser")
error = soup.find_all('script')
source = error[1].get_text().encode("gbk")
secret_error = "验证码不正确"
res = len(secret_error and source)
然后根据res的值判断是否匹配。但由于三个错误提示在网页上都属于alert中的内容,所以假设存在密码不正确的提示时,匹配验证码不正确的值也不会为0。
基于这样的情况,我尝试了另外一种解决方式,发现python的string本身就有find方法,如果找到则返回下标,如果没找到则返回-1.
secret_error = "验证码不正确"
secret_res = source.find(secret_error)
if secret_res != -1:
f = file("error.txt","w+")
f.writelines(secret_error)
f.close()
os._exit(0)
pass_error = "密码不正确"
pass_res = source.find(pass_error)
if pass_res != -1:
f = file("error.txt","w+")
f.writelines(pass_error)
f.close()
os._exit(0)
user_error = "用户名不存在"
user_res = source.find(user_error)
if user_res != -1:
f = file("error.txt","w+")
f.writelines(user_error)
f.close()
os._exit(0)
posted on 2016-07-01 09:26 13070046孙宇辰 阅读(843) 评论(0) 编辑 收藏 举报