scrapy爬虫(三)——模拟登录

在上一篇文章中,利用我们所提出的方法获取价格列表,提取次数过多的时候就会出现需要登录的问题,


同时在淘宝的网页也添加了没有登录不允许搜索的设置


因此就需要加上下边这一段模拟登陆的代码:

<code>import scrapy
from scrapy.http import Request,FormRequest

class LoginSpider(scrapy.Spider):
name='login'
allowed_domains=['example']
start_urls=['http://example']


#用户名: 信息
def parse(self,response):

keys=response.css('table label::text').re('(.+):')

values=response.css('table td.w2p_fw::text').extract()

yield dict(zip(keys,values))

#访问地址
login_url='http://example.webscraping.com/places/default/user/login'

def start_request(self):
yield Request(self.login_url,callback=self.login)
#给定用户名和密码
def login(self,response):
fd={'email':'XXXXXXX','password':'123456'}

yield FormRequest.from_response(response,formdata=fd,callback=self.parse_login)

def parse_login(self,response):
if'Welcome Liu'in response.text:
yield from super().start_requests()

/<code>

-----有疑问可以私信联系


分享到:


相關文章: