模拟登陆哦~

使用Cookies模拟登陆

大致思路

1.手动登陆网站
2.获取cookies
3.携带cookies进行访问并抓取数据

import scrapy

class XXX(scrapy.Spider):
    name = 'XX'
    allowed_domains = ['XXXX']
    start_urls = ['XXXX']	#直接使用start_urls是无法登陆一些页面的

	def start_requests(self):
		cookies = 'balbalbalalalala'							#实际登陆之后复制到的网页cookies
		cookies = {i.split('=')[0]:i.split('=')[1] for i in cookies.split(';')}	 #分割之后写成字典格式
		yield scrapy.Request(
				self.start_urls[0],			#网址
				cookies=cookies,			#使用cookies
				callback=self.parse
			)

    def parse(self, response):
    	#编写爬虫,抓取数据
        pass

模拟POST,账号密码登陆

大致思路

1.你需要有目标网站的账户,也就是你需要有账号密码
2.找到POST下的Form Data的各个数据
3.模拟登陆,抓取数据

# -*- coding: utf-8 -*-
import scrapy

class XXXSpider(scrapy.Spider):
    name = 'XX'
    allowed_domains = ['XXXX.com']
    start_urls = ['XXX']
    
    def parse(self, response):
    	aa=response.xpath('XXX').extract_first()		#获取form data所需数据
    	bb=response.xpath('XXX').extract_first()
    	cc=response.xpath('XXX').extract_first()
        post_data = dict(aa=aa,bb=bb,cc=cc)				#处理成字典
        yield scrapy.FormResquest(						#传递参数
        	'XXXXXX',								
        	callback=self.XXX,
        	formdata=post_data
        	)
       或者:
     def parse(self,response):
		yield scrapy.Request.From_response(		#自动填补formdata
			response,
			formdata={'aa':'aa','bb':'bb'}			#账号密码
			callback=self.XXX
		)

	def XXX(self,response):
		pass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值