`
digiter
  • 浏览: 120456 次
  • 性别: 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实现登录并保存cookie的方法示例

    在Python编程中,登录网站并保存Cookie是一种常见的需求,特别是在自动化测试、数据抓取或模拟用户行为时。本文将详细讲解如何使用Python实现12306登录并保存Cookie的方法,以便于后续的请求能够保持登录状态。 ...

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

    本篇将详细介绍如何使用PycURL在Python中自动处理cookie。 首先,我们需要导入必要的模块,`pycurl`用于处理HTTP请求,`StringIO`用于在内存中处理数据,而不是写入到文件系统: ```python import pycurl from io ...

    python cookie反爬处理的实现

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

    python 自动登录

    2. **处理Cookie和Session**:登录成功后,服务器通常会返回一个Cookie或建立Session,用以识别用户身份。在后续的请求中,我们需要携带这些信息。 3. **解析页面**:如果网站使用了动态加载或JavaScript,可能需要...

    2018-9-28 000651用Python登录一个网站_python登录_python_网站_

    总的来说,使用Python登录网站是一个综合性的任务,涉及到的知识点广泛,包括Python基础、HTTP协议、requests库的使用、Cookie管理以及可能的验证码识别。掌握这些技能,可以帮助你在自动化测试、数据抓取等方面提升...

    python 登录购票网站

    requests库允许我们发送GET和POST请求,处理cookies,甚至管理会话,这对于登录网站至关重要,因为登录通常涉及POST请求将用户名和密码发送到服务器,并通过返回的cookie保持会话状态。 `config.py`文件则可能包含...

    python实现网络爬虫使用了第三方库beautifulsoup来解析网页文件,并且实现了cookie登录特定网站访问.zip

    在这个案例中,我们关注的是使用Python和BeautifulSoup库来构建网络爬虫,以及如何通过处理cookie实现登录特定网站的功能。 首先,BeautifulSoup是一个Python库,用于从HTML或XML文件中提取数据。它通过提供强大的...

    python+selenium+chrome设置geo经纬度地理位置并自动发布抖音视频

    这种自动化工具在内容创作者、营销人员或者需要批量处理任务的场景下具有很大的实用价值。然而,需要注意的是,任何未经许可的自动化行为都应遵守相关法律法规,尊重平台规则,避免对他人账号造成影响或引发不良后果...

    Python-Python爬虫京东自动登录在线抢购商品源码.zip

    在本资源"Python-Python爬虫京东自动登录在线抢购商品源码.zip"中,包含了一个使用Python编写的爬虫程序,旨在实现自动化登录京东网站并进行在线抢购商品的功能。这个程序对于开发者来说,是一个很好的学习案例,...

    Python-pycookiecheat从浏览器的已验证会话中获取Cookie以便在Python脚本中使用

    在Python开发中,有时我们需要在脚本中模拟浏览器的行为,比如访问特定网站、登录或执行自动化任务。为了实现这一点,一个关键的步骤是处理Cookie,因为它们存储了用户的身份验证信息。`pycookiecheat`是一个方便的...

    Python爬虫,京东自动登录,在线抢购商品.zip

    在本项目“Python爬虫,京东自动登录,在线抢购商品”中,我们将探讨如何使用Python来实现京东网站的自动登录,并进行在线抢购商品的操作。下面将详细解析这一过程涉及的技术和步骤。 首先,我们需要了解的是网络...

    Python-模拟登录一些知名的网站为了方便爬取需要登录的网站

    2. **处理Cookie**:在requests中,Session对象可以自动管理Cookie。登录成功后,我们可以使用`session.cookies`来获取和设置Cookie。 3. **处理验证码**:有些网站会使用验证码防止爬虫,此时我们需要识别和输入...

    基于python的自动化大麦网演唱会抢票程序实现

    6. **模拟登录**:抢票前通常需要用户登录,Python可以通过模拟填写表单和提交登录信息来实现自动登录,如使用requests库配合cookie管理,或者利用Selenium直接操作登录界面。 7. **验证码识别**:对于有验证码的...

    python爬虫之selenium-cookie操作

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

    Python自动化测试.pdf

    Python自动化测试是IT行业中一种常见的测试方式,主要使用Python语言配合Selenium工具来实现Web应用的自动化测试。Python自动化测试具备编写简洁、学习快速、应用广泛等优点,已经成为了测试行业的主流技术之一。 ...

    Python自动登录126邮箱的方法

    通过以上步骤,我们已经成功实现了使用Python自动登录126邮箱并获取页面数据。需要注意的是,由于126邮箱的安全策略可能会更新,所以实际应用时可能需要根据最新的接口调整代码。此外,为了安全起见,不建议在脚本中...

    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版-百家号-seleiunm-全自动发布文案-可多账号-多文案-解放双手 -附带seleiunm源码-二次开发可用

    "seleiunm"是一个针对百家号的Python自动化发布工具,能够帮助用户实现文案的自动发布,节省时间和精力,非常适合内容创作者或者运营人员使用。百家号是百度旗下的一个自媒体平台,为用户提供内容创作和分享的舞台。...

Global site tag (gtag.js) - Google Analytics