美文网首页
爬虫模拟登陆代码

爬虫模拟登陆代码

作者: 在朝阳寺树下 | 来源:发表于2018-01-04 19:57 被阅读0次

学习新知识的时候,可能当时无法立即理解,可是经历过这一痛苦的阶段再回来看看,就有种柳暗花明的感觉 。所以要及时记笔记才对啊年轻人。               —— ——  任三爷

#coding=utf-8

"""模拟登录豆瓣"""

import requests

from lxml import etree

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

header = {

    'Host':'accounts.douban.com',

    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0',

    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

    'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',

    'Accept-Encoding':'gzip, deflate, br',

    'Referer':'https://www.douban.com/accounts/login',

    'Content-Type':'application/x-www-form-urlencoded',

    'Content-Length':'126'

}

data= {

    'redir':'https://www.douban.com',

    'form_email':'',

    'form_password':''

}

#data和header由谷歌浏览器获得

#用户输入用户名和密码登录豆瓣

def  Login01 ( url,username,pwd ):

    data['form_email'] = username

    data['form_password'] = pwd

    s = requests.Session()

    text = s.get(url).text

    if '请输入上图中的单词' in text:    #如果有验证码

        page = etree.HTML(text)

        img = page.xpath('//img[@id="captcha_image"]/@src')    #取得验证码图片

        id = page.xpath('//div[@class="captcha_block"]/input[@type="hidden"]/@value')  #取得登录必需的验证码值

        pic = requests.get(img[0])

        with open('豆瓣验证码','wb') as f:

            for chunk in pic.iter_content(1024):

                if chunk:

                    f.write(chunk)

        captcha = input('请输入验证码:')

        print captcha

        data['captcha-solution'] = captcha

        data['captcha-id'] = id[0]

    p = s.post(url, headers=header, data=data)

    print "p.text: ", p.text

    if '的帐号' in p.text:

        print('登录成功')

    else:

        print('登录失败')

if __name__ == '__main__':

    url = "https://www.douban.com/accounts/login"

    # username = input('请输入用户名:')

    username = '15711057804'

    # pwd = input('请输入密码:')

    pwd = 'qst12345'

    Login01(url, username, pwd)

相关文章

  • 模拟登陆存在问题

    学习Python爬虫(七)--Scrapy模拟登录的post模拟登陆后,自己写了模拟登陆知乎首页的代码。 测试后发现无效

  • Scrapy基础——Cookies和Session

    我在Python爬虫基础-模拟登陆曾经谈过Cookies和Session。那么如何我想使用Scrapy进行模拟登陆...

  • 爬虫模拟登陆代码

    学习新知识的时候,可能当时无法立即理解,可是经历过这一痛苦的阶段再回来看看,就有种柳暗花明的感觉 。所以要及时记笔...

  • Selenium+ PhantomJS+Requests 综合使

    关键字: Python 爬虫 PhantomJS MongoDB Webdriver 模拟登陆 Fiddler ...

  • Python网络爬虫之模拟登陆

    为什么要模拟登陆? Python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要...

  • Scrapy爬虫模拟登陆豆瓣

    首先还是创建爬虫,其命令如下: 模拟登陆豆瓣的关键点1、分析真实post地址,寻找formdata;2、模拟pos...

  • 爬虫实战--模拟登陆

    并不是所有网站信息都可直接访问,有相当一部分的数据是需要用户授权登陆后才可以拿到的,比如某某网站开通vip会员才能...

  • java模拟登陆

    java爬虫 模拟登陆CSDN 抓包得到post请求的5个参数: username:139******027@16...

  • 用于pixiv漫画下载的爬虫

    GitHub - mtclaw/pixivSpider: 根据p站号下载漫画的爬虫。 # 关于模拟登陆 本来是想自...

  • Python爬虫基础-模拟登陆

    为什么我们要让爬虫模拟登陆呢? 有些内容只有登陆才能进行爬取,如知乎,不登录的主页只能看到注册和登陆 ; 你想爬取...

网友评论

      本文标题:爬虫模拟登陆代码

      本文链接:https://www.haomeiwen.com/subject/nrrdnxtx.html