模拟登陆人人网
笔记部分:
1、想要发送post请求,那么推荐使用“scrapy.FormRequest”方法,可以方便的指定表单数据
2、如果想在爬虫的一开始就发送Post请求,那么应该重写start_requests 方法,在这个方法中发送post请求
代码展示:
# -*- coding: utf-8 -*-
import scrapy
class RenrenSpider(scrapy.Spider):
name = 'renren'
allowed_domains = ['renren.com']
start_urls = ['http://renren.com/']
def start_requests(self):
url='http://www.renren.com/PLogin.do'
yonghu={"email":"152988081**","password":"yes2000***"}
request=scrapy.FormRequest(url,formdata=yonghu,callback=self.parse_page)
yield request
def parse_page(self,response):
request=scrapy.Request(url='http://www.renren.com/974509***/profile',callback=self.parse_profile)
yield request
def parse_profile(self,response):
with open ("j*.html","w",encoding='utf-8')as fp:
fp.write(response.text)
注意:这里的代码是来自b站爬虫视频,跟着码的时候注意几个坑
1、
yonghu={"email":"15298808113","password":"yes20000408"}
这里的请求的key值不能自己随意修改,否则会请求失败,比如email我一开始改成了number以为无所谓,其实很关键
2、
url='http://www.renren.com/PLogin.do'
你复制这个up主提供的网页链接谷歌浏览器的时候谷歌会帮你自动改成http://www.renren.com/SysHome.do
但是请注意写代码的时候还是用up主提供的网页链接,否则会报错405