2012-07-13 3 views
0

웹 사이트에 액세스하는 스크립트로 식별하는 웹 사이트가 있습니까? 내가 생각하는 사용자 에이전트 헤더가 변경되어 오류가 발생합니다.웹 사이트 - 스크래핑, 로봇 식별

import urllib,urllib2 
req_headers = {'User-Agent':'Mozilla/5.0'} 
req = urllib2.Request(url,headers = req_headers) 
html = req.open(url) 

그렇다면 어떻게됩니까?

답변

0

예. 처음에는 Firebug와 같은 도구를 사용하여 웹을 탐색 할 때 전체 헤더를 살펴보십시오. 일반 브라우저는 urllib에서 제공하지 않는 언어와 같은 많은 정보를 제공합니다. 따라서 웹 사이트는 다른 헤더 정보가 있는지 확인할 수 있습니다.

또 다른 트릭은 페이지에 1x1 픽셀 이미지를 포함시키고 클라이언트가 이미지 파일을 요청했는지 확인하는 것입니다. 그렇지 않은 경우 클라이언트는 텍스트 전용 브라우저 (예 : lynx)를 사용하거나 실제로 스크립트입니다. 나는 JavaScript가 마우스의 존재를 찾는 데 사용될 수 있다고 생각한다.

일반적으로 고양이와 마우스 게임입니다. urllib의 대안 중 하나는 Selenium입니다. Selenium은 브라우저 창을 시작합니다.

0

우선 사용자 에이전트는 꽤 완전하지 않아 쉽게 가짜로 탐지됩니다.

Hunting cheaters in a voting competition에 대한 답에서 일부 로봇 감지 기술을 설명합니다.

관련 문제