在上一篇文章中,利用我們所提出的方法獲取價格列表,提取次數過多的時候就會出現需要登錄的問題,
同時在淘寶的網頁也添加了沒有登錄不允許搜索的設置
因此就需要加上下邊這一段模擬登陸的代碼:
<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>
-----有疑問可以私信聯繫
閱讀更多 國家301實驗室 的文章