实例详解Python 登录网站的方法

这篇文章主要介绍了python 登录网站详解及实例的相关资料,需要的朋友可以参考下

Python 登录网站详解及实例

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

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

在URI 中显式地使用 Session ID;

立即学习“Python免费学习笔记(深入)”;

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

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

# -*- coding: GB2312 -*-from urllib import urlencodeimport cookielib, urllib2# cookiecj = cookielib.LWPCookieJar()opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))urllib2.install_opener(opener)# Loginuser_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 这类的名字是从哪儿来的,这就要分析需要登录的网页了。我们知道,一般的登录界面都是一个表单,节选如下:


登录后复制

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

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

以上就是实例详解Python 登录网站的方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2273745.html

(0)
上一篇 2025年2月27日 13:34:04
下一篇 2025年2月23日 07:38:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 常见python中排序的代码详解

    这篇文章主要为大家详细介绍了python算法的基础教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言:前两天腾讯笔试受到1万点暴击,感觉浪费我两天时间去牛客网做题……这篇博客介绍几种简单/常见的排序算法,算是整理下。 时间复杂度 …

    2025年2月27日 编程技术
    200
  • python实现希尔排序的实例详解

    这篇文章主要介绍了python实现希尔排序,已编程实现的希尔排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 观察一下”插入排序“:其实不难发现她有个缺点:   如果当数据是”5, 4, 3, 2, 1“的时候,此时我们将“无序块”中…

    2025年2月27日
    200
  • flask和mysql相连的实例详解(python)

    一个基于flask的web应用诞生第四篇,这篇文章主要介绍了如何让flask和mysql进行互联,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 上一章实现了登录的部分功能,之所以说是部分功能,是因为用户名和密码写成固定值肯定是不可以的,…

    2025年2月27日 编程技术
    100
  • 写一个python生成器生成杨辉三角的代码示例

    下面小编就为大家带来一篇python 生成器生成杨辉三角的方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 用Python写趣味程序感觉屌屌的,停不下来 #生成器生成展示杨辉三角#原理是在一个2维数…

    编程技术 2025年2月27日
    200
  • 用Python写贪吃蛇游戏的代码实例

    这篇文章主要为大家详细介绍了python贪吃蛇游戏的编写代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近在学Python,想做点什么来练练手,命令行的贪吃蛇一般是C的练手项目,但是一时之间找不到别的,就先做个贪吃蛇来练练简单的语…

    2025年2月27日
    200
  • 详细介绍如何在python中使用朴素贝叶斯算法

    本文主要介绍了python中如何使用朴素贝叶斯算法的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧 这里再重复一下标题为什么是”使用”而不是”实现”: 首先,专业人士提供的算法比我们自…

    2025年2月27日
    200
  • 教你用python爬取w3shcool的课程并且保存到本地的代码实例

    本文主要介绍python爬取w3shcool的jquery的课程并且保存到本地的方法解析。具有很好的参考价值。下面跟着小编一起来看下吧 最近在忙于找工作,闲暇之余,也找点爬虫项目练练手,写写代码,知道自己是个菜鸟,但是要多加练习,书山有路勤…

    2025年2月27日
    200
  • Python对SQLite数据库操作的实例详解

    本文主要介绍了python对sqlite数据库操作的简单教程。sqlite是一种嵌入式数据库,它的数据库就是一个文件。由于sqlite本身是c写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在ios和android的app中都可以…

    编程技术 2025年2月27日
    200
  • Python对MySQL数据操作的实例详解

    本文介绍python3使用pymysql连接数据库,并实现简单的增删改查。具有很好的参考价值。下面跟着小编一起来看下吧 本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。 什么是PyMySQL? PyMySQL是Py…

    编程技术 2025年2月27日
    200
  • 迭代器捕获Generator返回值的python代码实例

    这篇文章主要介绍了python使用迭代器捕获generator返回值的方法,结合具体实例形式分析了python迭代器获取生成器返回值的相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python使用迭代器捕获Generator返回值的方法…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论