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模拟登录人人网的主要内容,如果未能解决你的问题,请参考以下文章