`
digiter
  • 浏览: 118654 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python 自动登录网站(处理Cookie)

阅读更多
def login():
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    login_url = r'http://zhixing.bjtu.edu.cn/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1'
    login_data = urllib.urlencode({'cookietime': '2592000', 'handlekey': 'ls', 'password': 'xxx',
            'quickforward': 'yes', 'username': 'digiter'})
    opener.open(login_url, login_data)
    return opener


返回以后只需要设置url和data就可以Post了。
注意不要在request里设置header,这是因为cookie也是header,如果设置header会导致没有cookie,也就没有登录

request = urllib2.Request(
        url=r'http://zhixing.bjtu.edu.cn/forum.php?mod=post&action=newthread&fid=601&extra=&topicsubmit=yes',
        data=param
    )
    print opener.open(request).read()


轻松搞定设置Discuz X主题分类的功能(cookie要模拟浏览器,这里是模仿firefox)
# -*- coding: utf-8 -*-
'''
Created on Dec 24, 2011

@author: rush
'''
import urllib, urllib2, cookielib
import os, time

headers = []

def login():
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    login_url = r'http://zhixing.bjtu.edu.cn/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1'
    login_data = urllib.urlencode({'cookietime': '2592000', 'handlekey': 'ls', 'password': 'xxx',
            'quickforward': 'yes', 'username': 'GuoYuan'})
    opener.addheaders = [('Host', 'zhixing.bjtu.edu.cn'),
                       ('User-Agent', 'Mozilla/5.0 (Ubuntu; X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0'),
                       ('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
                       ('Accept-Language', 'en-us,en;q=0.5'),
                       ('Accept-Encoding', 'gzip, deflate'),
                       ('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'),
                       ('Connection', 'keep-alive'),
                       ('Referer', 'http://zhixing.bjtu.edu.cn/forum.php'),]
    opener.open(login_url, login_data)
    return opener

if __name__ == '__main__':
    opener = login()

    url = r'http://zhixing.bjtu.edu.cn/forum.php?mod=topicadmin&action=moderate&optgroup=2&modsubmit=yes&infloat=yes&inajax=1'    
    data = {'fid': '601', 'formhash': '0cdd1596', 'frommodcp': '', 'handlekey': 'mods',
             'listextra': 'page%3D62', 'moderate[]': '496146', 'operations[]': 'type', 'reason': '...',
             'redirect': r'http://zhixing.bjtu.edu.cn/thread-496146-1-1.html', 'typeid': '779'}
    data2 = [(k, v) for k,v in data.iteritems()]
    
    cnt = 0
    for tid in range(493022, 496146 + 1):
        cnt += 1
        if cnt % 20 == 0: print
        print tid,
        
        data2.append(('moderate[]', str(tid)))
        if cnt % 40 == 0 or cnt == 496146:
            request = urllib2.Request(url=url, data=urllib.urlencode(data2))
            print opener.open(request).read()
            data2 = [(k, v) for k,v in data.iteritems()]
            
分享到:
评论

相关推荐

    Python基于PycURL自动处理cookie的方法.pdf

    Python基于PycURL自动处理cookie的方法

    python cookie反爬处理的实现

    自动处理  使用session机制  使用场景:动态变化的cookie  session对象:该对象和requests模块用法几乎一致.如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中. 案例 ...

    python爬虫之selenium-cookie操作

    在做自动化的时候,遇到难处理的验证码,我们可以手动登录,然后获取登录到的cookie,添加到浏览器中,就可以实现登录。具体操作看图片信息。以下只是提纲式列举一二,希望对你有帮助。 1、from selenium import ...

    Python基于PycURL自动处理cookie的方法

    本文实例讲述了Python基于PycURL自动处理cookie的方法。分享给大家供大家参考。具体如下: import pycurl import StringIO url = "http://www.google.com/" crl = pycurl.Curl() crl.setopt(pycurl.VERBOSE,1) crl....

    python实现带验证码网站的自动登陆实现代码

    本例所登录的某网站需要提供用户名,密码和验证码,在此使用了python的urllib2直接登录网站并处理网站的Cookie。 Cookie的工作原理: Cookie由服务端生成,然后发送给浏览器,浏览器会将Cookie保存在某个目录下的...

    python+requests+pytest 接口自动化框架(1-4)

    python+requests+pytest 接口自动化框架 ...4 接口自动化之requests模块详解以及Cookie,Session关联处理 参考笔记:https://blog.csdn.net/weixin_41121249/category_11679326.html?spm=1001.2014.3001.5482

    Python使用cookielib模块操作cookie的实例教程

    cookielib是一个自动处理cookies的模块,如果我们在使用爬虫等技术的时候需要保存cookie,那么cookielib会让你事半功倍!他最常见的搭档模块就是python下的urllib和request。 核心类 1.Cookie 该类实现了Netscape ...

    码尚 python+requests+pytest+allure+yaml+DDT+logs 接口自动化框-各分支源码总汇

    4requests模块详解以及Cookie,Session关联处理 5接口统一请求封装和接口关联封装 6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据...

    python+requests+pytest+allure+yaml+DDT+logs 接口自动化框架终极版

    4requests模块详解以及Cookie,Session关联处理 5接口统一请求封装和接口关联封装 6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据...

    老男孩第三期Python全栈开发视频教程 零基础系统学习Python开发视频+资料

    ├─(95) 06 python s3 day53 COOKIE和SESSION配合使用.avi ├─(96) day53课上所有.zip (18)\\python全栈day51-60\\python全栈s3 day54;目录中文件数:13个 ├─(97) 01 python全栈3 day54 今日内容概要 .avi ├─...

    python爬虫之自动登录与验证码识别

    在用爬虫爬取网站数据时,有些站点的一些关键数据的获取需要使用账号登录,这里可以使用requests发送登录请求,并用Session对象来自动处理相关Cookie。 另外在登录时,有些网站有时会要求输入验证码,比较简单的...

    Python_Requests使用.pdf

    Python_Requests使用, Requests... Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容 的编码,支持国际化的 URL 和 POST 数据自动编码。现代、国际化、人性化

    Python Cookbook

    14.7 抓取Web页面时处理Cookie 513 14.8 通过带身份验证的代理进行HTTPS导航 516 14.9 用Jython实现Servlet 517 14.10 寻找Internet Explorer的cookie 519 14.11 生成OPML文件 521 14.12 聚合RSS Feed 524 ...

    Python核心编程第二版

    很不错的python书 第1部分 Python核心  第1章 欢迎来到Python世界   1.1 什么是Python   1.2 起源   1.3 特点   1.3.1 高级   1.3.2 面向对象   1.3.3 可升级   1.3.4 可扩展   1.3.5 可...

    tornado python框架

    o请求处理程序和请求参数o重写 RequestHandler 的方法函数o重定向(redirect) o模板 oCookie 和安全Cookie o用户认证 o跨站伪造请求的防范 o静态文件和主动式文件缓存o本地化 oUI 模块o非阻塞式异步请求 o异步 HTTP ...

    sharepy:Python 的简单 SharePoint 身份验证

    此模块将处理您的 SharePoint Online/O365 站点的身份验证,允许您从 Python 发出直接的 HTTP 请求。 它扩展了常用的Requests模块,这意味着返回的对象是熟悉的、易于使用且有据可查的。 安装 可以从Python软件包...

    Python入门网络爬虫之精华版

    有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。 headers = {'...

    自动化测试面试题总结.docx

    4,request处理cookie的三种方式 五、自动化测试 1,自动化核心框架 2,自动化测试的好处 3,自动化的前提 4,自动化测试的场景 5,元素定位的8种方式 6,如果一个元素无法定位,一般会考虑哪些原因 7,driver.close...

    python+requests+pytest+allure+yaml+DDT+logs 接口自动化框-各分支源码总汇

    4requests模块详解以及Cookie,Session关联处理 5接口统一请求封装和接口关联封装 6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据...

Global site tag (gtag.js) - Google Analytics