工大助手(验证码错误提示)

工大助手(验证码错误提示)

组内讨论

  1. 之前版本的错误提示不完全
  2. 在加载程序时最好有图示表示正在下载数据

改进(错误提示)

今天完成了验证码不正确的提示。在输入错误的验证码之后,会返回一个带有alert提示的页面,而我们的任务就是将这部分内容爬取下来,来检测验证码是否输入正确。

首先还是用BeautifulSoup提取script标签:

error = soup.find_all('script')

但是发现页面中的script不只是包含alert,还包含了其他内容,同时alert部分与其他js是分离在不同的标签下。这样我将alert部分提取出来,但提取出来的部分为Unicode模式,需要将其转换为string,方便之后的操作。同时因为有中文,所以直接encode为gbk。

source = error[1].get_text().encode("gbk")

要提取出“验证码不正确“的信息,所以建立模式串与原串进行匹配。

secret_error = "验证码不正确"
res = len(secret_error and source)

如果res的值为0,说明没有匹配项,代表验证码正确。如果值不为0,则说明匹配成功,即验证码输入有误。若有误则将该信息返回,并结束程序,不再往下进行。

if res != 0:
	f = file("secret_error.txt","w+")
    f.writelines(li)
    f.close()
    os._exit(0)

posted on 2016-06-30 23:31  13070046孙宇辰  阅读(273)  评论(0编辑  收藏  举报

导航