2012-06-12 6 views
0

내 사이트에 모든 방문자 (Os, Browser 및 자세한 내용)를 추적하고 싶습니다. 사용자 에이전트 및 URL 및 기타 필수 데이터를 database.Later에 저장하고 있습니다. 나중에 Crone을 실행하면 사용자 에이전트가 분석되어 브라우저 인 Os를 가져옵니다. 그러나 크롤러를 식별하려고합니다 (방문자로 간주 될 수 없기 때문에). 따라서 사용자 에이전트에서 크롤러를 식별 할 수있는 방법이 있습니다. 크롤러의 사용자 에이전트는 일반적인 패턴을 따랐습니까?사용자 에이전트에서 크롤러 식별

+0

Welcome to StackOverflow. 이 사이트는 프로그래밍 Q & A 용입니다. 질문에는 일반적으로 깨지지 않은 소스 코드가 포함되어 있습니다. 대신이 질문을 http://webmasters.stackexchange.com/에서 질문하려고합니다. – Graham

답변

1

User-Agent 문자열을 사용하면 중요한 문자열은 신뢰할 수 없으며 나쁜 생각입니다.

악성 크롤러는 일반적으로 인기있는 브라우저의 UA 문자열을 보냅니다. 적절한 검색 엔진 크롤러는 항상 인식 가능한 UA 문자열을 보내지 만 웹 브라우저를 구성하여 해당 크롤러 중 하나 인 척을하지는 않습니다.

반환해야하는 경우 get_browser()crawler 값의 요소를 참조하십시오.

2

사용자 에이전트 또는 (서브넷)으로 식별 할 수 있습니다.

첫 번째 방법은 신뢰할 수 없습니다. 왜냐하면 누구나 사용자 에이전트를 수정하는 크롤러로 식별 할 수 있기 때문입니다. 두 번째 방법이 분명 좋습니다.

는이 웹에 많은 목록이 있습니다 : - http://www.robotstxt.org/db.html

또 다른 하나 http://www.user-agents.org/이 (R = 로봇, 크롤러, 거미의 범례를 참조하십시오) : http://www.karavadra.net/blog/2010/list-of-crawlers-bots-and-their-ip-addresses/

1

Web Robots Page가 포함 된 list of known crawlers/robots을 포함을 잘 작동하고 (데이터베이스에 나열된) 알려진 봇을 식별하는 데 사용할 수있는 사용자 에이전트 패턴.

그러나 DaveR에 따르면 규칙을 무시하는 사람을 막는 것은 어렵지만 모든 크롤러가 robotstxt.org 데이터베이스에있는 것은 아닙니다.

관련 문제