Data Scraping de um site que agrupa cursos de Data Science
Fonte: Markus Spiske / Unsplash.com
English version:
https://github.com/williamausenka/ML_estudos_de_caso/blob/main/Data%20Scraping/Web/Web_no_API%20-%20English.pdf
Nesse post, vou mostrar como foi feito um data scraping do site ‘https://www.classcentral.com/subject/data-science’ para obter os 50 cursos de data Science oferecidos na página.
Foi utilizado a biblioteca do BeautifulSoup para fazer o scraping do site.
Figura 1 - Inspetor do chrome e as tags do HTML
Fonte: O Autor
Neste exemplo, queremos uma dataframe que tenha as informações sobre:
· Nome do curso
· Classificação
· Número de reviews
· Plataforma que oferece o curso
· Duração
O mais importante dessa técnica é se atentar ao HTML do site. Você consegue ver todo HTML utilizando a ferramenta de inspecionar do chrome. Neste exemplo, quando você localizar as informações do curso, basta ver no inspetor, qual é a tag e a class no HTML que contém o “pacote” todo. Na figura 1, vemos que a tag que queremos é a <tr> e a class “row nowrap vert-align-middle padding-vert-small border-bottom border-gray-light”. Com isso, atribuímos as informações de todos os cursos em uma variável.
Com essa variável, podemos iterar sobre ela até termos as informações específicas de cada curso, como qual é o nome do curso ou sua duração.
Tabela 1 – Dataframe dos cursos
Fonte: O Autor
Depois de atribuir cada informação especifica para uma variável, podemos montar a dataframe da tabela 1.
Vale ressaltar que você vai obter as informações apenas disponíveis naquela pagina. Para obter informações sobre mais cursos, além dos 50 obtidos inicialmente, é preciso ir para a próxima página e refazer os passos até a parte da dataframe, na qual você apenas adiciona as novas informações obtidas.
Tabela 2 – Cursos com as melhores classificações
Fonte: O Autor
Figura 2 - Pie chart dos cursos
Fonte: O Autor
Com essas informações, você pode responder perguntas como: Qual é a plataforma com mais cursos ou quais cursos possuem as melhores classificações? Podemos responder essas perguntas utilizando python ou até mesmo excel. Como vemos na tabela 2, o curso com a melhor classificação é Genome Sequencing (Bioinformatics II), porém ele possui apenas 4 reviews, então temos que ter cuidado e saber interpretar as respostas obtidas. Já na figura 2, temos que o Coursera detém mais da metade dos cursos oferecidos na pagina que fizemos o web scraping.
Por fim, essa técnica pode ser feita em qualquer site da internet, sempre se atentando ao HTML, e, assim, podemos gerar diversas dataframes para futuras análises.
Todo o código você encontra no meu Github: https://github.com/williamausenka/ML_estudos_de_caso/tree/main/Data%20Scraping/Web
Espero que vocês tenham gostado.
Não deixe de comentar o que você achou da análise
Obrigado e até o próximo post!
Comments