【20171104早】python爬虫之username,password登陆

工欲善其事,必先利其器。网站只能通过交互式登陆吗?当然不是,作为网络蛮荒世界的一个剑客,老黑欲练就自由之剑,呵呵,就是用代码编写可以自动登陆系统的工具,从而获取想要的数据。

简单版:

样板网站:

成绩系统:http://jwc.ecjtu.jx.cn/mis_o/login.htm

账号:jwc

密码:jwc

Now! Let‘s go! go ! go!

  s1:获取实际登陆的url,老黑使用了firefox,live http headers工具,填入账号密码后,获取到实际登陆的url为http://jwc.ecjtu.jx.cn/mis_o/login.php,post信息为: user=jwc&pass=jwc&Submit=%CC%E1%BD%BB

  s2:编写python代码模拟登陆,使用到了python中requests

 1 # -*- coding: utf-8 -*-
 2 import sys
 3 import requests
 4 reload(sys)
 5 sys.setdefaultencoding(‘utf8‘)
 6
 7 url = ‘http://jwc.ecjtu.jx.cn/mis_o/login.php‘
 8 # 1: get 2: post
 9 option = ‘2‘
10 if option == ‘1‘:
11     url = ‘http://www.kfzhongzhou.com/cyjb_xx.asp?id=15‘
12
13 output_file = open(‘D:\codehub\output.html‘, ‘w‘)
14 datas = {‘user‘: ‘jwc‘,
15          ‘pass‘: ‘jwc‘,
16          ‘Submit‘: ‘%CC%E1%BD%BB‘
17          }
18 headers = {‘Referer‘: ‘http://jwc.ecjtu.jx.cn/mis_o/login.php‘,
19            ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ‘
20                          ‘(KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36‘,
21            ‘Accept‘: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8‘,
22            ‘Accept-Language‘: ‘zh-CN,zh;q=0.8‘,
23            }
24 if __name__ == ‘__main__‘:
25     print ‘开始!‘
26     responses = None
27     sessions = requests.session()
28     if option == ‘1‘:
29         responses = sessions.get(url)
30     else:
31         responses = sessions.post(url, headers=headers, data=datas)
32     print responses.headers
33     print responses.status_code
34
35     r2 = sessions.get(‘http://jwc.ecjtu.jx.cn/mis_o/main.php‘)
36     context = r2.text
37     output_file.write(context)
38     print ‘结束!‘
39     output_file.close()

  解释:构造sessions进行登陆,保证可以下载正常登陆后才能访问道的main.php页面,进行验证是否登陆成功。

  s3:效果,main.php内容被写在本地文件output.html中,用firefox打开后是如下效果

  因为这个系统编码的问题导致写入output.html中的内容是乱码,对比一下正常登陆的页面,可以看出是登陆成功了。

扩展:优化后可以使用cookie进行登陆,参考文章 地址

时间: 2024-07-31 03:26:09

【20171104早】python爬虫之username,password登陆的相关文章

Python爬虫学习笔记——豆瓣登陆(一)

#-*- coding:utf-8 -*- import requests from bs4 import BeautifulSoup import html5lib import re import urllib url1 = 'http://accounts.douban.com/login' url2 = 'http://www.douban.com/people/*****/contacts' formdata={ "redir":"http://www.douban

Python 爬虫案例-web微信登陆与消息发送

首先回顾下网页微信登陆的一般流程 1.打开浏览器输入网址 2.使用手机微信扫码登陆 3.进入用户界面 1.打开浏览器输入网址 首先打开浏览器输入web微信网址,并进行监控: https://wx.qq.com/ 可以发现网页中包含了一个新的url,而这个url就是二维码的来源. https://login.weixin.qq.com/qrcode/wbfd1Z-a0g== 可以猜测一下获取url的一般网址就是https://login.weixin.qq.com/qrcode,而wbfd1Z-a

python爬虫之获取验证码登陆

#--coding:utf-8#author:wuhao##这里我演示的就是本人所在学校的教育系统#import urllib.requestimport urllib.parseimport reimport shutilimport http.cookiejar class LoginJust(): def __init__(self,url,url1,url2,header,account,pwd): self.url=url self.url1=url1 self.url2=url2 s

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

一. 文章介绍 前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID.用户名.微博数.粉丝数.关注数等. 微博信息:包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩: http://weibo.cn/guangxianliuya 因为手机端数据相对精简简单,所以采用输

[Python爬虫] Selenium爬取新浪微博移动端热点话题及评论 (下)

这篇文章主要讲述了使用python+selenium爬取新浪微博的热点话题和评论信息.其中使用该爬虫的缺点是效率极低,傻瓜式的爬虫,不能并行执行等,但是它的优点是采用分析DOM树结构分析网页源码并进行信息爬取,同时它可以通过浏览器进行爬取中间过程的演示及验证码的输入.这篇文章对爬虫的详细过程就不再论述了,主要是提供可运行的代码和运行截图即可.希望文章对你有所帮助吧~ 参考文章 [python爬虫] Selenium爬取新浪微博内容及用户信息 [Python爬虫] Selenium爬取新浪微博客户

Python爬虫学习(7):浙大软院网络登陆保持

在浏览器的验证窗口中输入登陆名和密码后,成功后会弹出一个小的新窗口,如果不小心关闭了这个窗口,则就会无法联网.如果说我在一个不带有桌面的Linux系统中,我是不能够通过浏览器接入网络的,虽然提供了不同系统的不同版本的客户端(没有用过),但是还是想自己做一个玩玩,同时依据上一篇博客中获取到的帐号进行尝试登陆. 1. 页面分析 首先还是先来看一下登陆验证页面,因为上一片博客中已经对其进行了分析,这里我们看看其它的: 上边的代码是登陆成功后设置 document.form1.uid.value 的值,

转载:用python爬虫抓站的一些技巧总结

原文链接:http://www.pythonclub.org/python-network-application/observer-spider 原文的名称虽然用了<用python爬虫抓站的一些技巧总结>但是,这些技巧不仅仅只有使用python的开发可以借鉴,我看到这篇文章的时候也在回忆自己做爬虫的过程中也用了这些方法,只是当时没有系统的总结而已,谨以此文为鉴,为以前的爬虫程序做一个总结. 转载原文如下: 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

Python爬虫的Urllib库有哪些高级用法?

本文和大家分享的主要是python爬虫的Urllib库的高级用法相关内容,一起来看看吧,希望对大家学习python有所帮助. 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它 是一段HTML代码,加 JS.CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服.所以最重要的部分是存在于HTML中的,下面我 们就写个例子来扒一个网页下来. imp