scrapy Formrequest用法(豆瓣登录案例)

# -*- coding: utf-8 -*-
import scrapy
from scrapy.http import Request,FormRequest

class DbSpider(scrapy.Spider):
name = 'db'
allowed_domains = ['douban.com']
start_urls = ['https://accounts.douban.com/login']
login_url = 'https://accounts.douban.com/login'

headers = {
'Referer': 'https: // accounts.douban.com / passport / login',
'User - Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6721.400 QQBrowser/10.2.2243.400'
}
def parse(self, response):
formdata={
'source':'index_nav',
'form_email':'....',
'form_password':'....'

}
yield scrapy.FormRequest(url=self.login_url,formdata=formdata,callback=self.login_after,headers=self.headers)

def login_after(self,response):
res = response.xpath('//a[@class="bn-more"]/span/text()').extract_first()
if res is None:
print('登陆失败!')
else:
print('登陆成功!{}'.format(res))

 

posted @ 2019-03-07 22:04  山…隹  阅读(375)  评论(0)    收藏  举报