8_3 scrapy模拟登录人人网

Posted sruzzg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8_3 scrapy模拟登录人人网相关的知识,希望对你有一定的参考价值。

一、创建项目

二、更改设置(setting等)

三、编码

 1 # -*- coding: utf-8 -*-
 2 import scrapy
 3 
 4 
 5 class RenrenSpider(scrapy.Spider):
 6     name = renren
 7     allowed_domains = [renren.com]
 8     start_urls = [http://renren.com/]
 9 
10     def start_requests(self):
11         #url = "http://www.renren.com/SysHome.do"
12         url = "http://www.renren.com/PLogin.do"
13         data = {"email": "邮箱", "password": "密码"}
14         request = scrapy.FormRequest(url, formdata=data, callback=self.parse_page)
15         yield request
16 
17     def parse_page(self, response):
18         # with open(‘renren.html‘, ‘w‘, encoding=‘utf-8‘) as fp:
19         #     fp.write(response.text)
20         # 登录后要访问的页面大鹏懂成
21         url = "http://www.renren.com/880151247/profile"
22         request = scrapy.Request(url, callback=self.parse_profile)
23         yield request
24 
25     def parse_profile(self, response):
26         with open(dapeng.html, w, encoding=utf-8) as fp:
27             fp.write(response.text)

四、总结:

1、想要发送post请求,那么推荐使用scrapy.FormRequest()方法
2、如果想在爬虫一开始的时候的送post请求,那么要重写基类Spider中的方法 start_request()
方法。在这个方法中发送post请求,没有重写这个方法基类Spider中的方法 start_request()默认是
发送get请求。

以上是关于8_3 scrapy模拟登录人人网的主要内容,如果未能解决你的问题,请参考以下文章

爬虫实战篇---使用Scrapy框架进行模拟登录(包括借助阿里云服务自动识别验证码)

模拟登录人人网

scrapy抓取人人网上的“新鲜事”

Python爬虫--人人网模拟登录cookie

php 使用curl模拟登录人人(校内)网

urllib中的保存cookie使用,运用cookiejar来模拟登录人人网