“怎么判断模拟登陆是否成功”
我最开始的时候也问过这个问题,当时对所有流程都还不熟悉,而且写的代码没一个能成功的,就给自己提了一大堆的问题,也在论坛上发表提问,在这个过程中,我遇到了很多的情况,好多都能作为判断的依据,这里跟大家分享一下
代码不报错但是完全没有输出的,这是没得怀疑的了,有可能是你代码中的逻辑错误或者网址输错或者根本不能访问网站等等,这些是隐式的错误,而像语法错误,关键词拼写错误等等这些程序一运行就会报错的,我把他们叫做显式错误
代码运行出现URLError或者是HTTPError的,有可能是函数使用不对或者是网络原因或者是网站限制,反正连输出都看不到的肯定想都不用想了
有输出结果,而且是网页源码,这至少证明了你的程序是没有错的,但是有源码并不意味着是登陆成功之后的网页的源码,所以你需要对比登陆前的源码和登陆后的源码有什么区别
登陆后网页上一般会显示你的用户名,个人信息,或者退出的选项,或者其他的操作标志等等,这些一般都能在网页源码中找到,所以要先手动登陆,对比登陆前和登陆后的界面有什么区别,然后在爬取到的源码中按这些关键字搜索
现在我们从两个方面来判断我们是否已经登陆成功了
首先,先下载网页源码,程序已经很熟悉了
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
__author__ = '217小月月坑'
import urllib2
url = 'http://www.lvye.org/