104 votes

Web grattage étiquette

J'envisage l'écriture d'un simple grattage application pour extraire des informations à partir d'un site web qui ne semble pas spécifiquement l'interdire.

J'ai vérifié pour d'autres alternatives (par exemple, RSS, web service) pour obtenir cette information, mais aucun n'est disponible à ce stade.

Malgré cela, j'ai également créés/maintenus quelques sites moi et je me rends compte que si le web scraping est fait naïvement/goulûment il peut ralentir les choses pour les autres utilisateurs et généralement de devenir une nuisance.

Alors, quelle est l'étiquette est impliqué en termes de:

  1. Nombre de requêtes par seconde/minutes/heure.
  2. HTTP User Agent de contenu.
  3. HTTP Referer contenu.
  4. HTTP paramètres de Cache.
  5. Taille de la mémoire tampon pour les gros fichiers/ressources.
  6. Aspects juridiques et les questions de licences.
  7. De bons outils ou des approches de conception à utiliser.
  8. Robots.txt est-ce pertinent pour le web scraping ou tout simplement les robots/spiders?
  9. De Compression tels que GZip dans les demandes.

Mise à jour

Trouvé cette question pertinente sur Meta: l'Étiquette de l'Écran Scaping StackOverflow. Jeff Atwood, en réponse a des recommandations utiles.

Autres StackOverflow questions:

Options pour le code html de grattage

28voto

Pat Points 3464

Conformes au site robot.txt demande, c'est probablement l'un des meilleurs et les plus éthiques des moyens de parvenir à un accord, sans en parler à quelqu'un sur le site.

Ne vous identifier de manière appropriée dans le UserAgent de l'en-tête. En faisant cela, le site permet de voir qui vous êtes et de restreindre/permettre à certains domaines de leur site de manière explicite. Par exemple, regardez le grand gars, les agents utilisateurs, Google est répertorié ci-dessous, et de concevoir un semblable, ce qui a une page décrivant qui vous êtes et comment informer vos robots en rampant.

Googles chaîne user-agent : Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)

N'utiliser la compression gzip/deflate si le site prend en charge, cela vous permet d'économiser du temps et de la site la bande passante.

Vous devriez être ok à partir d'un point de vue juridique (bien que je ne suis pas d'avocat ni expert juridique) si vous suivez leurs robots.txt ET les conditions de service.

À la fin, cependant, je pense que le meilleur conseil est de runrunraygun compte tenu de son seul site. Contacter l'administrateur et de voir ce qui serait acceptable et dans le respect de leur volonté d'aller loin.

17voto

Charles Stewart Points 7698

``est pertinente : Regardez-le se faire une idée de l’attitude de ce que le site est à non-humain lecteurs. Montrant une prise de conscience de son contenu fournira quelque réconfort à la webadmin lorsque vous e-mailer que vous veillerez à respecter le site lorsque vous gratter.

9voto

gingerbreadboy Points 3129

Je voudrais suggérer par courriel au webmestre, dites-leur que vous écrivez un script non malveillants etc et demandez à ce qu’ils sont heureux avec vous frapper et à quelle fréquence.

Nous courons un robot d’indexation domaine qui ramasse des documents pdf/word etc. de domaines amicales et le plus que nous avons eu demandé est une 5 deuxième lacune entre les demandes et marche seule dans la nuit.

2voto

Jonathan Sampson Points 121800

Cela dépend vraiment de ce que vous êtes grattage et combien il vous êtes grattage. Par exemple, j’ai dû écrire un grattoir il y a une semaine à analyser plusieurs centaines de pages. Pour être généreux, j’ai placé une une attente seconde après chaque page. A pris quelques minutes pour obtenir les données rétrospectives, mais je ne sais pas que le propriétaire du site apprécierait tout mou que je peux laisser dans le processus.

-1voto

hoju Points 7182
  1. ~5 secondes de retard par domaine. Vous pouvez régler votre retard basé sur la façon dont rapidement le site web renvoie le contenu.
  2. l'agent utilisateur de définir de commun navigateur de manière à ce site web s'affiche comme normal
  3. référent défini à l'endroit où la page a été liée à partir de
  4. combien de temps je cache dépend du site. Généralement 1 mois.
  5. Je n'télécharger le texte et les fichiers d'image
  6. "Plus facile de demander pardon que la permission"
  7. Je utiliser les bibliothèques Python comme lxml et certains que j'ai développé moi-même
  8. web grattage implique robots/spiders, donc oui robots.txt est pertinent
  9. toujours compresser

Je fais beaucoup de web scraping, et nous avons trouvé la plupart des sites web ne font pas le suivi des adresses IP pour un comportement suspect.

Si vous êtes concerné, au lieu de télécharger du contenu directement à partir de votre cible de site web, vous pouvez utiliser le Cache de Google, Archive.org, etc. Ou utiliser des proxys.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X