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>

-----有疑問可以私信聯繫


分享到:


相關文章: