本站停止维护,已转移至laravel学习网;欢迎大家移步访问!

Python爬虫使用Requests实现网站登陆并且获取数据

之前我们用了 urllib 库使用python模拟登录一品威客,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取。那么这一节来简单介绍一下 requests 库实现登陆并且获取数据。

一. 登陆要获取数据,最主要的是记住用户信息(cookie),我们使用requests.Session()就能让我们以后的请求中带cookie,相比urllib,真的是方便了太多太多

#!/usr/bin/python
# -*- coding:utf8 -*-
import requests

def login():
    payload = {'Username': '', 'Password': ''}
    s = requests.Session()
    r = s.post("", data=payload)

好的,我们引入面向对象,同时我们给出一个完整的demo:

#!/usr/bin/python
# -*- coding:utf8 -*-
import requests

class Index(object):
    def __init__(self):
    	# 登陆地址
        self.loginurl = ""

    def login(self):
    	# 参数
        payload = {'Username': '', 'Password': ''}
        # 保存cookie
        s = requests.Session()
        # 登陆
        r = s.post(self.loginurl, data=payload)
        # 将请求构造器传递给获取用户信息模块(带cookie登陆)
        self.userinfo(s)

    def userinfo(self,s):
    	r = s.get("登陆后获取参数url")


if __name__ == "__main__":
    start = Index()
    # 获取全部信息
    start.login()


转载请注明 :一沙网络原文出处:http://bbs.earnp.com/article/335
问题交流群 :562864481
0
打赏
发布时间 :2017-02-20 19:09:06
分享

1 个评论

  • 快乐
    回复
    2017-03-30 09:36
    哈哈,你好

要回复文章请先登录注册