2011-06-05 9 views
5

Estoy usando el Html Agility Pack y sigo recibiendo este error. "El servidor remoto devolvió un error: (500) Error interno del servidor". en ciertas páginas.¿Enmascara sus actividades de raspado web para que parezcan actividades normales de navegación en el navegador?

Ahora no estoy seguro de qué se trata, ya que puedo usar Firefox para acceder a estas páginas sin ningún problema.

Tengo la sensación de que el sitio web en sí está bloqueando y no envía una respuesta. ¿Hay alguna forma de que pueda hacer que mi paquete de agilidad HTML se llame más como una llamada que se llama desde FireFox?

Ya he configurado un temporizador para que solo lo envíe al sitio web cada 20 segundos.

¿Hay algún otro método que pueda usar?

+0

Aunque dudo que este sea el problema, puede variar ese momento. Dudo que haya alguien que haga algo en un sitio web exactamente cada 20 segundos. – icktoofay

+0

Sí, cuando esté listo para hacerlo de verdad, tendré el tiempo de espera bastante alto (como 1-2 minutos), pero solo estoy probando. Solo está ocurriendo para ciertas URL, pero cuando voy a la URL usando mi navegador puedo acceder al sitio. – Diskdrive

Respuesta

6

Establezca un User-Agent similar a un navegador normal. Un agente de usuario es un encabezado http que pasa el cliente http (navegador) para identificarse al servidor.

+0

gracias amigo, eso hizo el truco. Creo que solo estaba ocurriendo en ciertos "tipos" de páginas, lo que sugería que tal vez el sitio de la página en sí necesitaba saber qué tipo de navegador estaba accediendo a él cuando se procesaba. – Diskdrive

6

Hay muchas maneras en que los servidores pueden detectar el raspado y es realmente una carrera de armamentos entre el raspador y el raspador (?), Dependiendo de cuán mal uno u otro desee acceder o proteger los datos. Algunas de las cosas que le ayudarán a pasar desapercibidas son:

  1. Asegúrese de que todos los encabezados http enviados sean los mismos que los de un navegador normal, especialmente el agente de usuario y la referencia de URL.
  2. Descargue todas las imágenes y scripts CSS como lo haría un navegador normal, en el orden en que lo haría un navegador.
  3. Asegúrese de que todas las cookies que se establecen son enviados de nuevo con cada solicitud posterior
  4. Asegúrese de que las solicitudes se regulan de acuerdo a los sitios robots.txt
  5. Asegúrese de que usted no está siguiendo ningún no seguir enlaces porque el servidor podría estar configurando un honeypot donde dejan de atender sus solicitudes ip
  6. Obtenga un grupo de servidores proxy para variar su dirección IP
  7. Asegúrese de que el sitio no haya comenzado a enviarle captcha porque creen que usted es un robot.

De nuevo, la lista podría continuar dependiendo de cuán sofisticada sea la configuración del servidor.

+1

Necesitará agregar: 1) * User-Agent * y 2) Asegúrese de agregar siempre el encabezado * Referrer * (aunque lo haya cubierto en 1.). Buena respuesta. –

Cuestiones relacionadas