사용자 에이전트 변장의 파이썬 기반의 웹 크롤러 scrapy 크롤러 프레임 카운터 메커니즘

사용자 에이전트 수단 사용자 에이전트는 , UA라고 함.

역할 : 서버가 클라이언트 운영 체제 및 사용 버전, CPU 종류, 브라우저 및 버전, 브라우저의 렌더링 엔진, 브라우저 언어, 브라우저 플러그인을 식별 할 수 있습니다.

웹 사이트는 종종 다른 브라우저에 와서 UA를 결정함으로써 서로 다른 운영 체제에 다른 페이지를 보냅니다. 우리는 사용자 에이전트가있는 페이지에 대한 요청을 자주 할 때 우리가 크롤러를 사용할 때 웹 사이트 서버가 블랙리스트 파충류 로봇입니다 쉽게 찾을 수 있습니다. 그래서 우리는 자주 교체 요청 헤더가 필요합니다.

미들웨어 (middlewares.py)에서 1. 구성 임의 요청 헤더 파일

  다음과 같이 코드입니다 :

클래스 DobanDownloaderMiddleware (객체) :
    
    (자기, 요청, 거미) DEF process_request :
        #이 방법을 통해 갈 것이다 서버에 전송 된 각 요청 후,이 방법을 사용하면 구성 폴더의 설정을 구성 할 필요가있다
         # 여기에 수동 구성 외에이 fake_useragent 파이썬 패킷에 채택 될 수있다 (시장에서 사용할 수있는 현재의 장치는 사용자 에이전트의 모든 브라우저, 유물의 존재라는).
  #을 사용하여 설명 참조 : https://www.jianshu.com/p/74bce9140934
  MY_USER_AGENT =
            "Mozilla / 4.0 (호환되는; MSIE 6.0; 윈도우 NT 5.1; SV1, AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "Mozilla / 4.0 (호환되는; MSIE 7.0; 윈도우 NT 6.0 Acoo 브라우저, SLCC1; .NET CLR 2.0.50727; 미디어 센터 PC 5.0; .NET CLR 3.0.04506)",
    "Mozilla / 4.0 (호환되는; MSIE 7.0; AOL 9.5, AOLBuild 4337.35, 윈도우 NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "모질라 / 5.0 (윈도우, U; MSIE 9.0; 윈도우 NT 9.0; EN-US)",
    "모질라 / 5.0 (호환; MSIE 9.0; 윈도우 NT 6.1, Win64를, 64; 삼지창 / 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; 미디어 센터 PC 6.0)",
    "모질라 / 5.0 (호환; MSIE 8.0; 윈도우 NT 6.0 삼지창 / 4.0; WOW64; 삼지창 / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322) ",
    "Mozilla / 4.0 (호환되는; MSIE의 7.0b, 윈도우 NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)",
    "모질라 / 5.0 (윈도우, U, 윈도우 NT 5.1;에서 zh-CN) AppleWebKit / 523.15 (KHTML, 도마뱀 붙이, 사파리 / 419.3 같은) 아 로라 / 0.3 (변경 : 287 c9dfb30)",
    "모질라 / 5.0 (X11, U, 리눅스, EN-US) AppleWebKit / 527 + (KHTML, 도마뱀, 사파리 / 419.3 등) 로라 / 0.6"
    "모질라 / 5.0 (윈도우, U, 윈도우 NT 5.1; EN-US; RV : 1.8.1.2pre) 게코 / 20070215 K-닌자 / 2.1.1"
    ]
        USER_AGENT = random.choice (MY_USER_AGENT) # 변수 이름을 가질 수 없습니다 -
        request.headers [ '사용자 에이전트'] = USER_AGENT # 헤더는 요청 사전입니다
참고 : (vscode 있도록 적어도) 바이에 추가하는 방법은, 마우스 커서, F12 키를 눌러 소스보기 기능을 배치 할 경우 일부 기능이 모르는
 
2. 다음 코드 setting.py 파일 :
 
DOWNLOADER_MIDDLEWARES = {
    # 값이 작을수록, 더 높은 우선 순위 값
   'doBan.middlewares.DobanDownloaderMiddleware': 543, #
banDownloaderMiddleware 미들웨어는 파일에 정의 된 클래스 이름입니다
}
 
구성 여부를 확인합니다
  다음은이 웹 사이트를 사용할 수 있습니다 : HTTP : //httpbin.org/get (이 사이트는) 요청 헤더 (메시지 헤더를 반환합니다
  다음과 같이 거미에서 파일의 코드는 다음과 같습니다
 
(상기 도입 부분 생략 필요한 부분을 제외하고 정의 할 수 있음)
클래스 DobanSpiderSpider (scrapy.Spider) :
    이름 = 'doBan_spider'
    # allowed_domains = 'movie.douban.com']
    start_urls = 'http://httpbin.org/get']

    데프 구문 분석 (자동 응답) :
        (response.text) 인쇄 # 당신이 vscode에서 볼 수있는이 시간이 자동으로 쉘에서 팝업
 
 
 
 
 
 
 
 
 
 
 
  

추천

출처www.cnblogs.com/RosemaryJie/p/12336662.html