scrapy에서 쿠키를 적용하는 방법을 설정하는 방법 (3가지)

2122 단어 scrapycookies
본인은python3.6입니다.
전체적으로 말하자면 scrapy 프레임워크에 쿠키를 설정하는 데는 세 가지 방식이 있다.
첫 번째: 설정 파일에 쿠키 설정
COOKIES_ENABLED가 주석일 때 scrapy는 기본적으로 쿠키를 열지 않습니다.
COOKIES_ENABLED가 False로 설정된 주석이 없을 때 scrapy는 기본적으로 settings에 있는 쿠키를 사용합니다.
COOKIES_ENABLED가 True로 설정되면 scrapy는 settings 쿠키를 끄고 사용자 정의 쿠키를 사용합니다.
그래서 제가 settings의 쿠키를 사용할 때 쿠키를 또_ENABLED가 True로 설정되면 scrapy는 settings의 쿠키를 닫습니다.
그리고 저도 사용자 정의 쿠키를 사용하지 않아서 전체 요청에 쿠키가 없어서 페이지를 가져오는 데 실패했습니다.
요약:
사용자 정의 쿠키를 사용하면 COOKIES_ENABLED를 True로 설정
Settings 쿠키를 사용하면 COOKIES_ENABLED가 False로 설정
두 번째:middlewares에서 쿠키 설정
middlewares의 downloadermiddleware에서의process_request에서 cookie를 다음과 같이 구성합니다.

request.cookies={
'':'',
'':'',
}
잠깐만.안에 있는 쿠키 내용은 키 값이 맞는 형식으로 존재해야 합니다.
세 번째:spider 파충류 메인 파일에서 start_ 다시 쓰기request 방법, scrapy의 Request 함수의 매개 변수에서 쿠키를 전달합니다

  #  start_requests 
  def start_requests(self):
    headers = {
          "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"}
    #  cookies
    cookies = {
          'uuid': '66a0f5e7546b4e068497.1542881406.1.0.0',
          '_lxsdk_cuid': '1673ae5bfd3c8-0ab24c91d32ccc8-143d7240-144000-1673ae5bfd4c8',
          '__mta': '222746148.1542881402495.1542881402495.1542881402495.1',
          'ci': '20',
          'rvct': '20%2C92%2C282%2C281%2C1',
          '_lx_utm': 'utm_source%3DBaidu%26utm_medium%3Dorganic',
          '_lxsdk_s': '1674f401e2a-d02-c7d-438%7C%7C35'}

        #  , callback,dont_filter=True  ,meta 
    yield Request(detailUrl, headers=headers, cookies=cookies, callback=self.detail_parse, meta={'myItem': item}, dont_filter=True)
또한 설정:

ROBOTSTXT_OBEY=False
이 글은 scrapy에서 쿠키를 적용하는 방법(3가지)을 설정하는 방법에 대해 소개합니다. 더 많은 scrapy 설정 쿠키 내용은 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기