python爬虫笔记-request

whj233 2018-07-05 原文

python爬虫笔记-request

1,学习体会

  1,一个章节的学习,实现了自动登录抽屉和github。

2,知识点

–request参数
—-url url
—-params 在url中加参数
—-cookies cookies
—-date post请求中传数据 from data, 一般只用data够啦,转json.dumps()
—-json 传数据,字符串格式, payload
—-proxies: 代理

—-file 上传文件
—-auth 基本认证
—-allow_redirects: True
—-stream: 下载大文件使用,一点一点下载。
—-cert: 证书
——–爬小众网站,证书自己做的那种,需要携带证书。
—-verity: 确认

参考  官方文档:http://cn.python-requests.org/zh_CN/latest/user/quickstart.html#id4

 

3,自动登录github

import requests
from bs4 import BeautifulSoup
'''
功能实现:自动登录github,获取用户名
'''
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KH'
                  'TML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'
}


def login_github(user, password):

    # 第一步,登录github获取token和cookies
    try:
        r1 = requests.get(
            url='https://github.com/login',
            headers=headers
        )

        cookies = r1.cookies.get_dict()
        s1 = BeautifulSoup(r1.text, 'html.parser')
        token = s1.find(name='input', attrs={'name': 'authenticity_token'}).get('value')

        # 第二步,携带cookies、token、用户名密码登录github,进行验证。
        r2 = requests.post(
            url='https://github.com/session',
            headers=headers,
            data={
                'commit': 'Sign in',
                'utf8': '',
                'authenticity_token': token,
                'login': user,
                'password': password
            },
            cookies=cookies
        )
        # 解析页面,找到登陆用户的用户名
        s2 = BeautifulSoup(r2.text, 'html.parser')
        li = s2.find(name='li', attrs={'class': 'dropdown-header header-nav-current-user css-truncate'})
        username = li.find(name='strong', attrs={'class': 'css-truncate-target'}).string
    except Exception as e:
        return 'sorry,{}'.format(e)
    return username


if __name__ == '__main__':
    name = login_github('username', 'password')
    print(name)

 

 

posted on 2018-07-05 11:12 撸代码的日子 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为whj233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/whj233/p/9267301.html

python爬虫笔记-request的更多相关文章

随机推荐

  1. btc 版本1的地址计算原理

    https://en.bitcoin.it/wiki/Technical_background_of_vers […]...

  2. EXCEL和内表的简单数据交互

    有时候需要读取EXCEL或者是写入EXCEL 1、将EXCEL数据写入内表:ALSM_EXCEL_TO_INT […]...

  3. 每天学一点ES6(一)开始

    每天学一点ES6(一)开始 2020-12-24 12:03  金色海洋(jyk)  阅读(0)  评论(0) […]...

  4. ASP.NET Core WebAPI实现本地化(单资源文件)

    在Startup ConfigureServices 注册本地化所需要的服务AddLocalization和 […]...

  5. UG NX安装包大集合(包括UG目前发布的所有版本)

    UG NX安装包大集合(包括UG目前发布的所有版本)UG爱好者官方交流群:216953883 有了这个你就不怕 […]...

  6. Axure rp原型设计工具的介绍

    软件工程综合实践专题  第三次作业 一、Axure rp简介     Axure RP是一款专业的快速原型设计 […]...

  7. C# 基础知识系列- 3 集合数组

    简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案。比如说我们是一个公司的仓库管理,公司有一堆货物需要管理 […]...

  8. 百度网盘不限速,直接获取直链 – jack_Meng

    百度网盘不限速,直接获取直链  百度网盘上之前保存了一些文件和电影,现在想下载下来,发现成了龟速啊,于是从网上 […]...

展开目录

目录导航