更多课程 选择中心


Python培训

400-111-8989

Python之环境搭建&入门实例

  • 发布: lxd
  • 来源:中工毕设小助手
  • 时间:2017-11-23 17:25

本篇内容将向大家介绍Python3的基本环境搭建,模块的安装,并带有一个小例子!废话不多说,我们开始!

推荐大家使用Python3是有原因的!

首先最重要的一点,Python3默认采用了utf-8编码,这意味着你在文件的开头不用再写# -*- coding=utf-8 -*- 了,同时很大程度上会避免出现乱码的情况!而Python2采用的是ascii编码,因为在Python这门语言诞生的时候,还没有出现Unicode!在Python2中出现乱码的原因很多都是因为采用了ascii编码!Python3中增加了一些新的特性print/exec等成为了函数,添加了nonlocal、yield from、async/await、yield for关键词,如果对这些东西很陌生,不用担心,很长一段时间内我们都不会接触这些!

Numpy,IPython,Jupyter otebook,Pandas,Matplotlib等众多方便好用的模块都将要放弃Python2,并且Python团队也在大力推广Python3。

环境搭建:

在windows平台上,我推荐大家使用Anaconda来管理Python,安装的方式也非常简单!

大家可以到“清华大学开源软件镜像站"上下载Anaconda!

#/

完整版的在这里:

#/anaconda/archive/

如果硬盘空间告急,可以下载miniconda,这是一个迷你版,没有图形化界面。使用命令行也是一件很舒服的事情!

#/anaconda/miniconda/

大家需要下载对应的版本,然后一路下一步就可以了!

安装完成之后在,你当前用户的文件夹下新建一个 .condarc 文件,并在文件中写上如下内容:

channels:

- #/anaconda/pkgs/free/

- defaults

show_channel_urls: true

这一步的作用是为了修改anaconda的源,源这里可以理解为我们下载模块的地方。至此你已经安装好了Python的环境,在命令行中写入conda --version可以查看版本号。

在其他的操作系统上安装也很简单,在此就不再多说!

集成开发环境:

python的编辑器,推荐使用PyCharm,JetBrains的产品对学生是免费开放的,我们只需要注册帐号,并认证学生邮箱(例如:2015XXXXXXXX@#)就可以得到免费的key。

我们也可以免费使用Sublime Text或者EditpPlus来开发!但是请不用用windows自带的文本文档!

自动认证校网脚本:

我们已经安装好了环境,下面我们就来使用它!

为了完成这个例子,我们需要安装requests这个模块,简单说这是一个用来发送HTTP请求的库!

我们输入conda install requests 这时就开始了模块的寻找以及安装!我已经安装过了,所以是这样的提示:


今天我们要实现一个简单的校网认证脚本!

我为大家准备了校园内网的请求URL(可以使用fiddler来抓包,其他的运营商的URL稍有不同,具体可以查看文末):

http://1.1.1.1:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=1.1.1.1&iTermType=1&wlanuserip=10.133.205.69&wlanacip=null&wlanacname=null&mac=00-00-00-00-00-00&ip=10.133.205.69&enAdvert=0&queryACIP=0&loginMethod=1

我们可以判断出来,userip和ip的两个值为我们连接WIFI后动态分配的IP。因此,在发送请求前,我们需要获取本机的IP来拼接出URL。

DDDDD为用户名,upass为密码,请求的参数为:

args = {

'DDDDD': '',

'upass': '',

'R1': '0',

'R2': '0',

'R3': '0',

'R6': '0',

'para': '00',

'0MKKey': '123456',

'buttonClicked': '',

'redirect_url': '',

'err_flag': '',

'username': '',

'password': '',

'user': '',

'cmd': '',

'Login': ''

}

接下来我们来实现它,首先导入我们需要使用的模块,在python中使用import导入模块:

import socket # 获取IP使用

import requests # 发送请求使用

获取本机IP,我们的IP是以10开头的,所以我们判断一下就可找出本机的IP:

ip_list = socket.gethostbyname_ex(socket.gethostname())

for _ in ip_list[2]:

if str(_).startswith('10.'):

ip = _

输出看一下,‘xxx{}’.format(ip)是用来格式化字符串的,将后面的ip填到前面的大括号中:

print('本机IP: {}'.format(ip))

设置一下个人的用户名密码,注意:这里的用户名后会拼接字符串(详见文末):

DDDDD = '2015XXXXXXXX@free'

upass = 'XXXXXX'

args['DDDDD'] = DDDDD

args['upass'] = upass

为了让服务器能接收我们用脚本发送的请求,我们需要稍微伪装一下,设置一下请求头:

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'

}

好了,准备工作已经完成了,下面我们来发送请求,在下面的一行代码中我们将ip填进了url中:

response = requests.post(url.format(ip, ip), data=args, headers=headers)

html = response.content.decode('gb2312')

这个时候我们可以打印一下html看一下:

print(html)

这个时候我们拿到了,服务器返回的html页面,我们稍微判断一下就可以看我们是否登录成功了:

if '认证成功页' in html:

print('认证成功....')

elif '信息页' in html:

print('帐号密码错误或已经认证....')

至此我们已经完成了整个过程!让我们来运行代码吧!使用PyCharm的同学可以直接右键run! 如果在文本编辑器中写的同学可以在cmd中运行:python netconnection.py 然后你就会看到结果了!

本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:我学Python的经验,Python学习经验分享
下一篇:Python 语法速览与实战清单

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省