广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 登录网站详解及实例
  • 178
分享到

Python 登录网站详解及实例

详解实例网站 2022-06-04 18:06:23 178人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

Python 登录网站详解及实例 对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。   这是因为 Http 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的

Python 登录网站详解及实例

对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。

  这是因为 Http 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登录了呢?有两种方式:

在URI 中显式地使用 Session ID; 利用 Cookie,大概过程是登录一个网站后会在本地保留一个 Cookie,当继续浏览这个网站的时候,浏览器会把 Cookie 连同地址请求一起发送过去。

  python 提供了相当丰富的模块,所以对于这种网络操作只要几句话就可以完成。我以登录 QZZN 论坛为例,事实上下面的程序几乎所有的 PHPWind 类型的论坛都是适用的。


# -*- coding: GB2312 -*-

from urllib import urlencode
import cookielib, urllib2

# cookie
cj = cookielib.LWPCookiejar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)

# Login
user_data = {'pwuser': '你的用户名',
       'pwpwd': '你的密码',
       'step':'2'
      }
url_data = urlencode(user_data)
login_r = opener.open("http://bbs.qzzn.com/login.php", url_data)

 一些注释:

urllib2 显然是比 urllib 高级一点的模块,里面包括了如何使用 Cookies。 在 urllib2 中,每个客户端可以用一个 opener 来抽象,每个 opener 又可以增加多个 handler 来增强其功能。 在构造 opener 时指定了 HTTPCookieProcessor 做为 handler,因此这个 handler 支持 Cookie。 使用 isntall_opener 后,调用 urlopen 时会使用这个 opener。 如果不需要保存 Cookie,cj 这个参数可以省略。 user_data 存放的就是登录所需要的信息,在登录论坛的时候把这个信息传递过去就行了。 urlencode 功能是把字典 user_data 编码成"?pwuser=username&pwpwd=passWord"的形式,这样做是为了使程序易读一些。

  最后一个问题是,pwuser、pwpwd 这类的名字是从哪儿来的,这就要分析需要登录的网页了。我们知道,一般的登录界面都是一个表单,节选如下:


<fORM action="login.php?" method="post" name="login" onSubmit="this.submit.disabled = true;"> 
<input type="hidden" value="" name="forward" /> 
<input type="hidden" value="http://bbs.qzzn.com/index.php" name="jumpurl" /> 
<input type="hidden" value="2" name="step" /> 
... 
<td width="20%" onclick="document.login.pwuser.focus();"><input type="radio" name="lgt" value="0" checked />用户名 <input type="radio" name="lgt" value="1" />UID</td> 
<td><input class="input" type="text" maxLength="20" name="pwuser" size="40" tabindex="1" /> <a href="reg1ster.php" rel="external nofollow" >马上注册</a></td> 
<td>密 码</td> 
<td><input class="input" type="password" maxLength="20" name="pwpwd" size="40" tabindex="2" /> <a href="sendpwd.php" rel="external nofollow" target="_blank">找回密码</a></td> 
... 
</form>

  从这里可以看出,我们需要输入的用户名密码对应的就是 pwuser 和 pwpwd,而 step 对应的则是登录(这个是尝试出来的)。

  注意到,这个论坛表单采用的是 post 方式,如果是 get 方式则本文的方法就需要变动一下,不能直接 open,而是应该首先 Request,然后再 open。更详细的请看手册...

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

--结束END--

本文标题: Python 登录网站详解及实例

本文链接: https://www.lsjlt.com/news/13422.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 登录网站详解及实例
    Python 登录网站详解及实例 对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。   这是因为 HTTP 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的...
    99+
    2022-06-04
    详解 实例 网站
  • Python模拟百度登录实例详解
    最近公司产品和百度贴吧合作搞活动,为了增加人气,打算做个自动签到的小程序。这个是测试登录的代码,写的比较随意,仅实现了登录并读取关注贴吧列表,下边的就比较简单。 百度登录还是有点麻烦的,由于用的ssl,所以...
    99+
    2022-06-04
    详解 实例 Python
  • python selenium实现登录豆瓣示例详解
    使用python爬虫selenium访问豆瓣https://www.douban.com/,实现模拟登录过程。 网页界面如图所示 首先导包后,定位图中 密码登录 的element,...
    99+
    2022-11-13
  • Vue实现登录以及登出详解
    目录登录业务流程登录功能实现总结首先先了解一下,我们的效果实现流程 首先登录概述及业务流程和相关技术点 录页面的布局 创建两个Vue.js文件 一...
    99+
    2022-11-12
  • python实现网站的模拟登录
    本文主要用python实现了对网站的模拟登录。通过自己构造post数据来用Python实现登录过程。 当你要模拟登录一个网站时,首先要搞清楚网站的登录处理细节(发了什么样的数据,给谁发等...)。我是通过H...
    99+
    2022-06-04
    网站 python
  • Python破解网站登录密码脚本
    目录关键代码解释完整代码方法一运行结果方法二运行结果测试靶机为DVWA,适合DVWA暴力破解模块的Low和Medium等级 关键代码解释 url指定url地址 url = "http...
    99+
    2022-11-12
  • Python免登录实现域名解析的示例详解
    目录如何获得域名解析信息获取Token目标实现修改记录写此篇文章,我花10块购买了域名ssw.ski。 目的是编写python脚本,通过dnspod api获取个人域名内的dns解析...
    99+
    2023-03-09
    Python实现域名解析 Python域名解析 Python域名
  • python 网络编程详解及简单实例
    python 网络编程详解 网络编程的专利权应该属于Unix,各个平台(如windows、Linux等)、各门语言(C、C++、Python、Java等)所实现的符合自身特性的语法都大同小异。在我看来,懂得...
    99+
    2022-06-04
    详解 网络编程 实例
  • Python实现破解网站登录密码(带token验证)
    目录前言关键代码解释完整代码运行结果补充前言 上一篇暴力破解文章:一个简单的Python暴力破解网站登录密码脚本 测试靶机为Pikachu漏洞练习平台暴力破解模块下的 “...
    99+
    2022-11-13
  • python tqdm用法及实例详解
    1、说明 tqdm是一个方便且易于扩展的Python进度条,可以在python执行长循环时在命令行界面实时地显示一个进度提示信息,包括执行进度、处理速度等信息,且可在一定程度上进行定制。 2、使用pip来安装tqdm...
    99+
    2022-06-02
    python tqdm
  • Python操作MongoDB详解及实例
    Python操作MongoDB详解及实例 由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装p...
    99+
    2022-06-04
    详解 实例 操作
  • Python 操作MySQL详解及实例
    Python 操作MySQL详解及实例 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和SQLAlchemy。 Python-My...
    99+
    2022-06-04
    详解 实例 操作
  • python 类详解及简单实例
    python 类详解 类 1.类是一种数据结构,可用于创建实例。(一般情况下,类封装了数据和可用于该数据的方法) 2.Python类是可调用的对象,即类对象 3.类通常在模块的顶层进行定义,以便类实例能...
    99+
    2022-06-04
    详解 实例 简单
  • python getopt详解及简单实例
    python getopt详解 函数原型: getopt.getopt(args, shortopts, longopts=[]) 参数解释: args:args为需要解析的参数列表。一般使用...
    99+
    2022-06-04
    详解 实例 简单
  • linux 网卡配置详解及实例
    linux网卡配置 DEVICE=物理设备名 IPADDR=IP地址 NETMASK=掩码值 NETWORK=网络地址 BROADCAST=广播地址 GATEWAY=网关地址 TYPE=Eth...
    99+
    2022-06-04
    详解 网卡 实例
  • SwiftUI登录界面布局实现示例详解
    目录引言页面分析-元素构成实战编程-背景图片实战编程-说明文字实战编程-登录方式实战编程-辅助文字本章小结引言 为了更好地了解和学习SwiftUI,我们快速学习SwiftUI的三种基...
    99+
    2022-11-13
  • Python 递归函数详解及实例
    Python 递归函数 如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数.也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.在python里,递归函数不需要任何特殊的语法,但是它需要...
    99+
    2022-06-04
    递归 详解 函数
  • python 队列详解及实例代码
    队列特性:先进先出(FIFO)——先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。 Queue模块最常与threading模块一起构成生产-消费者模型,提供了一个适用于多线程编程的先进...
    99+
    2022-06-04
    队列 详解 实例
  • VUE使用localstorage和sessionstorage实现登录示例详解
    目录正文localstroage就是一个加强版的COOKIE。三者的异同localStorage和sessionStorage操作登录实例:Router.js正文 今天这篇日志记录下...
    99+
    2022-11-13
    VUE实现登录 VUE localstorage和sessionstorage
  • Python LeNet网络详解及pytorch实现
    目录1.LeNet介绍2.LetNet网络模型3.pytorch实现LeNet1.LeNet介绍 LeNet神经网络由深度学习三巨头之一的Yan LeCun提出,他同时也是卷积神经网...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作