工大助手(用户名、密码错误提示)

工大助手(用户名、密码错误提示)

小组讨论

  1. 按照之前验证码改进的方式将用户名错误以及密码错误添加进去。
  2. 在桌面版上监听脚本返回的错误信息,并反馈给用户相应错误信息。
  3. 逐步添加吐槽墙的功能。

改进(错误提示)

今天完成了用户名、密码的错误提示。和验证码错误提示的逻辑相同,当输入错误的用户名或者密码的时候,会返回一个带有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编辑  收藏  举报

导航