scrapy를 사용하여 아날로그 로그인 세 가지 방식을 상세히 설명합니다.

scrapy는 세 가지 방법으로 로그인 방식을 시뮬레이션합니다.
- 쿠키 직접 소지
- URL 주소를 찾아post 요청을 보내 쿠키를 저장합니다
- 대응하는form 폼을 찾아 input 라벨을 자동으로 해석하고post가 요청한 URL 주소를 자동으로 해석하며 데이터를 자동으로 가져오고 요청을 자동으로 발송합니다

1、cookies를 가지고 github에 로그인


import scrapy
import re
 
class Login1Spider(scrapy.Spider):
  name = 'login1'
  allowed_domains = ['github.com']
  start_urls = ['https://github.com/NoobPythoner'] #  
 
  def start_requests(self): #  start_requests 
    #  cookies_str 
    cookies_str = '...' #  
    #  cookies_str cookies_dict
    cookies_dict = {i.split('=')[0]:i.split('=')[1] for i in cookies_str.split('; ')}
    yield scrapy.Request(
      self.start_urls[0],
      callback=self.parse,
      cookies=cookies_dict
    )
 
  def parse(self, response): #  
    result_list = re.findall(r'noobpythoner|NoobPythoner', response.body.decode())
    print(result_list)
    pass
참고:
scrapy에서 쿠키는 헤더에 넣을 수 없습니다. 요청을 구성할 때 전문적인 쿠키 파라미터가 있어 사전 형식의 쿠키를 받아들일 수 있습니다.
setting에서 ROBOTS 프로토콜, USER_ 설정AGENT

2. scrapy를 사용합니다.FormRequest() 로그인


스크랩을 통해.FormRequest는 post 요청을 보낼 수 있으며, fromdata 파라미터를 요청체로 추가하고callback

 yield scrapy.FormRequest(
       "https://github.com/session",
       formdata={
         "authenticity_token":authenticity_token,
         "utf8":utf8,
         "commit":commit,
         "login":"****",
         "password":"****"
       },
       callback=self.parse_login
     )

3. scrapy를 사용합니다.Formrequest.from_response 로그인github


import scrapy
import re
 
class Login3Spider(scrapy.Spider):
  name = 'login3'
  allowed_domains = ['github.com']
  start_urls = ['https://github.com/login']
 
  def parse(self, response):
    yield scrapy.FormRequest.from_response(
      response, #  response , 
      #  xpath form , form , 
      formxpath='//*[@id="login"]/form', 
      formdata={'login': '****', 'password': '***'},
      callback=self.parse_login
    )
 
  def parse_login(self,response):
    ret = re.findall(r"noobpythoner|NoobPythoner", response.text)
    print(ret)
이로써 scrapy를 사용하여 모의 로그인을 하는 세 가지 방식에 대한 상세한 설명은 여기까지 소개되었습니다. 더 많은 관련 scrapy 모의 로그인 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기