웹 스크래핑 활동을 마스킹하여 일반적인 브라우저 서핑 활동처럼 보이게하십시오?

c# html-agility-pack web-scraping

문제

Html Agility Pack을 사용하고 있는데이 오류가 계속 발생합니다. "원격 서버에서 오류를 반환했습니다 : (500) 내부 서버 오류." 특정 페이지.

이제는 파이어 폭스를 사용하여 아무런 문제없이이 페이지로 이동할 수 있기 때문에 이것이 무엇인지 확신 할 수 없습니다.

웹 사이트 자체가 차단되고 응답을 보내지 않는 느낌이 들었습니다. FireFox에서 호출되는 호출처럼 HTML HTML 민첩성 팩을 호출 할 수있는 방법이 있습니까?

이미 타이머를 설정 했으므로 20 초마다 웹 사이트로 전송됩니다.

내가 사용할 수있는 다른 방법이 있습니까?

수락 된 답변

User-Agent 를 일반 브라우저와 비슷하게 설정하십시오. 사용자 에이전트는 http 클라이언트 (브라우저)가 서버에 자신을 식별하기 위해 전달하는 http 헤더입니다.


인기 답변

서버가 스크래핑을 감지 할 수있는 방법에는 여러 가지가 있으며, 스크래핑과 스크래핑 (scrapee) 사이의 팔 경쟁은 데이터를 액세스 / 보호하려는 방법에 따라 다릅니다. 당신이 탐지하지 못하게하는 데 도움이되는 것들은 다음과 같습니다 :

  1. 전송 된 모든 http 헤더가 일반 브라우저, 특히 사용자 에이전트 및 URL 리퍼러와 동일한 지 확인하십시오.
  2. 정상적인 브라우저처럼 모든 이미지와 CSS 스크립트를 다운로드하십시오. 브라우저의 순서대로 수행하십시오.
  3. 이후에 요청할 때마다 설정된 쿠키가 전송되는지 확인하십시오.
  4. robots.txt 사이트에 따라 요청이 제한되는지 확인하십시오.
  5. 서버가 IP 요청을 제공하지 않는 곳에서 허니팟을 설정할 수 있으므로 연결을 따르지 않는 링크가 있는지 확인하십시오.
  6. IP 주소를 다양하게하는 프록시 서버를 가져옵니다.
  7. 그들은 당신이 로봇이라고 생각하기 때문에 사이트가 당신에게 captcha를 보내기 시작하지 않았는지 확인하십시오.

서버 설정이 얼마나 정교한 지에 따라 목록이 계속 될 수 있습니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.