思路:
1、代码访问login页面,自动保存cookie
- 拼接请求参数
- scrapy框架自动解析登陆网址中from表单中的参数
2、访问个人中心页面
import scrapy
class YaozhiSpider(scrapy.Spider):
name = 'yaozhi'
allowed_domains = ['yaozh.com']
#先进入登录界面,需要指定登录url
start_urls = ['https://www.yaozh.com/login/']
def parse(self, response):
#构建含账号名称和密码的参数
formdata = {'username':'*******',
'pwd':'*******'
}
#自动根据response对象里的form自动解析参数,登陆网址
yield scrapy.FormRequest.from_response(response,formxpath='//*[@id="login_pc"]',method='post',formdata=formdata,callback=self.parse_login)
def parse_login(self,response):
#登陆需要的个人中心界面
member_url = 'https://www.yaozh.com/member/'
yield scrapy.Request(member_url,callback=self.save_data)
def save_data(self,response):
#界面保存
with open('01.html','wb') as f:
f.write(response.body)