{"id":470924,"date":"2024-06-23T16:01:59","date_gmt":"2024-06-23T16:01:59","guid":{"rendered":"https:\/\/proxycompass.com\/?p=470924"},"modified":"2024-07-04T11:54:28","modified_gmt":"2024-07-04T11:54:28","slug":"web-scraping-best-practices-good-etiquette-and-some-tricks","status":"publish","type":"post","link":"https:\/\/proxycompass.com\/pt\/web-scraping-best-practices-good-etiquette-and-some-tricks\/","title":{"rendered":"Pr\u00e1ticas recomendadas de web scraping: boa etiqueta e alguns truques"},"content":{"rendered":"<p>Nesta postagem, discutiremos as melhores pr\u00e1ticas de web scraping e, como acredito que muitos de voc\u00eas est\u00e3o pensando nisso, abordarei imediatamente o elefante na sala. Isso \u00e9 legal? Muito provavelmente sim.<\/p>\n\n\n\n<p>A raspagem de sites geralmente \u00e9 legal, mas dentro de certos motivos razo\u00e1veis (continue lendo).<br><\/p>\n\n\n\n<p>Tamb\u00e9m depende da sua localiza\u00e7\u00e3o geogr\u00e1fica, e como n\u00e3o sou um g\u00eanio, n\u00e3o sei onde voc\u00ea est\u00e1, ent\u00e3o n\u00e3o posso dizer com certeza. Verifique as leis locais e n\u00e3o reclame se dermos algum \u201cmau conselho\u201d, haha.&nbsp;<\/p>\n\n\n\n<p>Brincadeiras \u00e0 parte, na maioria dos lugares est\u00e1 tudo bem; apenas n\u00e3o seja indiferente a isso e fique longe de materiais protegidos por direitos autorais, dados pessoais e coisas atr\u00e1s de uma tela de login.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Recomendamos seguir estas pr\u00e1ticas recomendadas de web scraping:&nbsp;<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Respeite o robots.txt<\/h3>\n\n\n\n<p>Voc\u00ea quer saber o segredo para raspar sites de forma pac\u00edfica? Apenas respeite o arquivo robots.txt do site. Este arquivo, localizado na raiz de um site, especifica quais p\u00e1ginas podem ser raspadas por bots e quais est\u00e3o fora dos limites. Seguir o robots.txt tamb\u00e9m \u00e9 importante, pois pode resultar no bloqueio do seu IP ou em consequ\u00eancias legais dependendo de onde voc\u00ea estiver.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Defina uma taxa de rastreamento razo\u00e1vel<\/h3>\n\n\n\n<p>Para evitar sobrecarga, congelamento ou travamento dos servidores do site, controle a taxa de suas solicita\u00e7\u00f5es e incorpore intervalos de tempo. Em palavras muito mais simples, v\u00e1 com calma com a taxa de rastreamento. Para conseguir isso, voc\u00ea pode usar Scrapy ou Selenium e incluir atrasos nas solicita\u00e7\u00f5es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Alternar agentes de usu\u00e1rio e endere\u00e7os IP<\/h3>\n\n\n\n<p>Os sites s\u00e3o capazes de identificar e bloquear bots de scraping usando a string do agente do usu\u00e1rio ou o endere\u00e7o IP. Altere os agentes de usu\u00e1rio e endere\u00e7os IP ocasionalmente e use um conjunto de navegadores reais. Use a string do agente do usu\u00e1rio e mencione-se nela at\u00e9 certo ponto. Seu objetivo \u00e9 se tornar indetect\u00e1vel, ent\u00e3o certifique-se de fazer isso da maneira certa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Evite ficar atr\u00e1s das p\u00e1ginas de login<\/h3>\n\n\n\n<p>Digamos apenas que copiar coisas por tr\u00e1s de um login geralmente \u00e9 errado. Certo? OK? Eu sei que muitos de voc\u00eas ir\u00e3o pular essa se\u00e7\u00e3o, mas de qualquer maneira\u2026 Tente limitar a extra\u00e7\u00e3o a dados p\u00fablicos e, se precisar extrair um login, talvez pe\u00e7a permiss\u00e3o. N\u00e3o sei, deixe um coment\u00e1rio sobre como voc\u00ea faria isso. Voc\u00ea raspa as coisas por tr\u00e1s de um login?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Analise e limpe os dados extra\u00eddos<\/h3>\n\n\n\n<p>Os dados extra\u00eddos geralmente n\u00e3o s\u00e3o processados e podem conter informa\u00e7\u00f5es irrelevantes ou at\u00e9 mesmo n\u00e3o estruturadas. Antes da an\u00e1lise, \u00e9 necess\u00e1rio pr\u00e9-processar os dados e limp\u00e1-los com o uso de seletores regex, XPath ou CSS. Fa\u00e7a isso eliminando a redund\u00e2ncia, corrigindo os erros e tratando os dados faltantes. Reserve um tempo para limp\u00e1-lo, pois voc\u00ea precisa de qualidade para evitar dores de cabe\u00e7a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Lidar com conte\u00fado din\u00e2mico<\/h3>\n\n\n\n<p>A maioria dos sites usa JavaScript para gerar o conte\u00fado da p\u00e1gina, e isso \u00e9 um problema para as t\u00e9cnicas tradicionais de scraping. Para obter e extrair os dados carregados dinamicamente, pode-se usar navegadores sem cabe\u00e7a como o Puppeteer ou ferramentas como o Selenium. Concentre-se apenas nos aspectos que s\u00e3o de interesse para aumentar a efici\u00eancia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Implementar tratamento robusto de erros<\/h3>\n\n\n\n<p>\u00c9 necess\u00e1rio corrigir erros para evitar falhas de programa causadas por problemas de rede, limita\u00e7\u00e3o de taxa ou altera\u00e7\u00f5es na estrutura do site. Tente novamente as solicita\u00e7\u00f5es com falha, obede\u00e7a aos limites de taxa e, se a estrutura do HTML tiver mudado, altere a an\u00e1lise. Registre os erros e acompanhe as atividades para identificar os problemas e como voc\u00ea pode resolv\u00ea-los.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Respeite os termos de servi\u00e7o do site<\/h3>\n\n\n\n<p>Antes de copiar um site, \u00e9 aconselh\u00e1vel ler os termos de servi\u00e7o do site. Alguns deles n\u00e3o permitem a raspagem ou t\u00eam algumas regras e regulamentos a seguir. Se os termos forem amb\u00edguos, deve-se entrar em contato com o propriet\u00e1rio do site para obter mais informa\u00e7\u00f5es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9. Considere as implica\u00e7\u00f5es legais<\/h3>\n\n\n\n<p>Certifique-se de que voc\u00ea tem permiss\u00e3o para coletar e usar os dados legalmente, incluindo quest\u00f5es de direitos autorais e privacidade. \u00c9 proibido copiar qualquer material protegido por direitos autorais ou qualquer informa\u00e7\u00e3o pessoal de outras pessoas. Se sua empresa for afetada por leis de prote\u00e7\u00e3o de dados como o GDPR, certifique-se de cumpri-las.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10. Explore m\u00e9todos alternativos de coleta de dados<\/h3>\n\n\n\n<p>Recomenda-se procurar outras fontes de dados antes de extra\u00ed-los. Existem muitos sites que fornecem APIs ou conjuntos de dados que podem ser baixados e isso \u00e9 muito mais conveniente e eficiente do que a extra\u00e7\u00e3o. Portanto, verifique se h\u00e1 algum atalho antes de seguir o longo caminho.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">11. Implementar garantia e monitoramento da qualidade dos dados<\/h3>\n\n\n\n<p>Identifique maneiras pelas quais voc\u00ea pode melhorar a qualidade dos dados extra\u00eddos. Verifique diariamente o raspador e a qualidade dos dados para identificar quaisquer anormalidades. Implemente monitoramento automatizado e verifica\u00e7\u00f5es de qualidade para identificar e evitar problemas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">12. Adote uma pol\u00edtica formal de coleta de dados<\/h3>\n\n\n\n<p>Para ter certeza de que voc\u00ea est\u00e1 fazendo tudo certo e legalmente, estabele\u00e7a uma pol\u00edtica de coleta de dados. Inclua nele as regras, recomenda\u00e7\u00f5es e aspectos legais que sua equipe deve conhecer. Elimina o risco de uso indevido de dados e garante que todos estejam cientes das regras.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">13. Mantenha-se informado e adapte-se \u00e0s mudan\u00e7as<\/h3>\n\n\n\n<p>Web scraping \u00e9 um campo ativo que se caracteriza pelo surgimento de novas tecnologias, quest\u00f5es jur\u00eddicas e sites em constante atualiza\u00e7\u00e3o. Certifique-se de adotar a cultura de aprendizagem e flexibilidade para estar no caminho certo.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Embrulhando-o!<\/h2>\n\n\n\n<p>Se voc\u00ea for brincar com alguns dos lindos brinquedos \u00e0 nossa disposi\u00e7\u00e3o (fa\u00e7a um favor a si mesmo e procure algumas bibliotecas Python), ent\u00e3o... bem, por favor, tenha boas maneiras e tamb\u00e9m seja esperto se decidir ignorar o primeiro conselho.&nbsp;<\/p>\n\n\n\n<p>Aqui est\u00e3o algumas das melhores pr\u00e1ticas sobre as quais falamos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Respeite o robots.txt<\/li>\n\n\n\n<li>Controlar a taxa de rastreamento<\/li>\n\n\n\n<li>Gire sua identidade<\/li>\n\n\n\n<li>Evite \u00e1reas privadas<\/li>\n\n\n\n<li>Limpe e analise dados<\/li>\n\n\n\n<li>Lidar com erros de forma eficiente<\/li>\n\n\n\n<li>Seja bom, obede\u00e7a as regras<\/li>\n<\/ul>\n\n\n\n<p>\u00c0 medida que os dados se tornam cada vez mais valiosos, os web scrapers enfrentar\u00e3o a escolha:&nbsp;<\/p>\n\n\n\n<p>Respeite o arquivo robots.txt, sim ou n\u00e3o? Voc\u00ea decide.<\/p>\n\n\n\n<p>Comente abaixo, qual a sua opini\u00e3o sobre isso?<\/p>","protected":false},"excerpt":{"rendered":"<p>In this post, we&#8217;ll discuss the web scraping best practices, and since I believe many of you are thinking about it, I&#8217;ll address the elephant in the room right away. Is it legal? Most likely yes. Scraping sites is generally legal, but within certain reasonable grounds (just keep reading). Also depends on your geographical location, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":470932,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[35],"tags":[],"class_list":["post-470924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles"],"acf":[],"_links":{"self":[{"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/posts\/470924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/comments?post=470924"}],"version-history":[{"count":5,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/posts\/470924\/revisions"}],"predecessor-version":[{"id":470935,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/posts\/470924\/revisions\/470935"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/media\/470932"}],"wp:attachment":[{"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/media?parent=470924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/categories?post=470924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proxycompass.com\/pt\/wp-json\/wp\/v2\/tags?post=470924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}