资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

​如何用scrapy框架来登录人人网

本篇内容主要讲解“如何用scrapy框架来登录人人网”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用scrapy框架来登录人人网”吧!

目前创新互联公司已为上千多家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、新兴网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

写爬虫之前必要的分析

​如何用scrapy框架来登录人人网

      上图就是我们的人人网了,通常我们想要去登录一个网站,有两种思路通过抓包工具来抓取post数据,看看里面有没有表单,然后提交表单来进行登录 通过观察分析网页html源码来找到form表单标签并且找到相关的提交参数。

       经过我的分析,我用F12看了一下抓包数据,是没有发现post数据的(大家可以自己去看一下),竟然这个行不通,我们就直接查看源代码!

      从我打箭头的地方可以看到,我们需要传送账户和密码信息的网址是http://www.renren.com/PLogin.do ,然后我们需要传送两个参数email和password。

      当我们提交这两个参数过去时,如果登录成功会返回一个登录成功界面的源代码,我们就通过这个源代码来判断是否登录成功!

分析完啦,开始写代码

      前面的创建爬虫项目和文件等操作我就不多提了,不会的朋友可以去看我前面写的文章。

       我先直接甩代码给大家了,老规矩,解释写在代码注释里了!

loginrr.py:

# -*- coding: utf-8 -*-import scrapyfrom scrapy.http import Request,FormRequest
class LoginrrSpider(scrapy.Spider):    name = 'loginrr'    allowed_domains = ['renren.com']    start_urls = ['http://renren.com/']    headers = {        'User-Agent':            'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'    }
   # 这里我们先编写start_requests方法(会首先执行)    def start_requests(self):        # 首先访问一遍登录页面(在这里我们可以监测有无验证码,若有则需要添加验证码字段,若无则不需要)        # 然后回调parse方法        # 设置meta参数,将cookiejar设置为1,表示cookjar开启        return [Request("http://www.renren.com/PLogin.do", meta={"cookiejar": 1}, callback=self.parse)]
   def parse(self, response):        # 需要发送的表单,这次没有验证码        data = {            # 这里输入你们自己的账号密码            'email': 'xxxxxx',            'password': 'xxxxxxxx'        }        print("正在登陆...")        # 通过 FormRequest.from_response方法来进行登录        return [FormRequest.from_response(response,                                          # 设置cookie信息                                          meta={"cookiejar": response.meta["cookiejar"]},                                          headers=self.headers,                                          formdata=data,                                          # 回调到next方法                                          callback=self.next,                                          )]
   def next(self, response):        # 打印登录成功后的界面源代码        print(response.body)

   大家需要注意,在运行之间需要设置setting.py文件,将ROBOTSTXT_OBEY 设置为 False

运行结果:

​如何用scrapy框架来登录人人网

到此,相信大家对“如何用scrapy框架来登录人人网”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享题目:​如何用scrapy框架来登录人人网
本文网址:http://cdkjz.cn/article/igepsc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220