In [1]:
import requests
from bs4 import BeautifulSoup
In [2]:
response = requests.get('http://www.gilenofilho.com.br/')
In [3]:
response.status_code
Out[3]:
200
In [4]:
response.text
Out[4]:
'<!DOCTYPE html>\n<html xmlns="http://www.w3.org/1999/xhtml"\n xmlns:og="http://ogp.me/ns#"\n xmlns:fb="https://www.facebook.com/2008/fbml"\n itemscope itemtype="http://schema.org/Blog"\n lang="pt">\n <head>\n <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\n <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0"/>\n <meta http-equiv="content-language" content="pt-br">\n <meta name="robots" content="index, follow">\n <meta name="description" content="Website Gileno Filho"/>\n <meta name="keywords" content="programação, python, recife, desenvolvimento, data science"/>\n <meta name="author" content="Gileno Filho">\n <meta name="generator" content="Pelican">\n <title>Gileno Filho</title>\n\n <!-- Feeds -->\n <link href="http://www.gilenofilho.com.br/feeds.atom" type="application/atom+xml" rel="alternate" title="Gileno Filho ATOM Feed"/>\n <link href="http://www.gilenofilho.com.br/feeds.rss" type="application/rss+xml" rel="alternate" title="Gileno Filho RSS Feed"/>\n\n <!-- CSS -->\n <link rel="stylesheet" href="/theme/css/font-awesome.min.css">\n <link href="/theme/css/bootstrap.css" type="text/css" rel="stylesheet" />\n <link href="/theme/css/style.css" type="text/css" rel="stylesheet" />\n <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->\n <!--[if lt IE 9]>\n <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>\n <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>\n <![endif]-->\n <!-- Metadata -->\n <meta property="og:type" content="website"/>\n\n <!-- Google Analytics -->\n <script>\n (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,\'script\',\'//www.google-analytics.com/analytics.js\',\'ga\');\n ga(\'create\', \'UA-15015773-2\', \'auto\');\n ga(\'send\', \'pageview\');\n </script>\n\n </head>\n\n <body>\n <header>\n<!-- Fixed navbar -->\n<div class="navbar navbar-default navbar-fixed-top" role="navigation">\n <div class="container">\n <div class="navbar-header">\n <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">\n <span class="sr-only">Toggle navigation</span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </button>\n <a class="navbar-brand" href="/">Gileno Filho</a>\n </div>\n <div class="navbar-collapse collapse navbar-right">\n <ul class="nav navbar-nav">\n <li><a href="/">Início</a></li>\n <li ><a href="/sobre">Sobre</a></li>\n <li ><a href="/categorias/cursos/">Cursos</a></li>\n <li ><a href="/categorias/palestras/">Palestas</a></li>\n <li ><a href="/categorias/tutoriais/">Tutoriais</a></li>\n <li ><a href="/categorias/utils/">Utils</a></li>\n </ul>\n </div><!--/.nav-collapse -->\n </div>\n</div> <div id="blue">\n <div class="container">\n <div class="row">\n <h3>\n programador, cientista, pythonista e minimalista. Recife, Brasil\n</h3>\n </div><!-- /row -->\n </div> <!-- /container -->\n </div><!-- /blue -->\n </header>\n <main>\n <!-- Content -->\n <div class="container mtb">\n <div class="col-md-8">\n<ol class="breadcrumb">\n <li>\n <a title="Gileno Filho Home" href="/"><i class="fa fa-home pr-10"></i> Início</a>\n </li>\n</ol><article>\n <a href="/python-datasets"><h3 class="ctitle">Bibliotecas Python para carregar Dataset\'s</h3></a>\n <p>\n Publicado em: <time datetime="2017-01-02T09:00:00-03:00">Seg 02 Janeiro 2017</time>.\n |\n Por: <a href="/autores/gileno-filho">Gileno Filho</a>\n |\n Arquivado em: <a href="/categorias/tutoriais">tutoriais</a>\n </p>\n <p>\n <p>Desde que a biblioteca <a href="http://pandas.pydata.org/">Pandas</a> se tornou bastante popular em análise de dados com Python, várias outras libs surgiram para auxiliar a importação de dados para objetos do tipo DataFrame (utilizados pelo Pandas).</p>\n<p>Neste artigo irei comentar sobre duas libs:</p>\n<ul>\n<li><a href="https://github.com/yhat/db.py">db.py</a>: Facilita a importação de bancos de dados para …</li></ul>\n </p>\n <p><a href="/python-datasets">[Leia mais]</a></p>\n <div class="hline"></div>\n <div class="spacing"></div>\n</article>\n<article>\n <a href="/como-funciona-o-orm-do-django"><h3 class="ctitle">Como funciona o ORM do Django</h3></a>\n <p>\n Publicado em: <time datetime="2016-07-15T22:00:00-03:00">Sex 15 Julho 2016</time>.\n |\n Por: <a href="/autores/gileno-filho">Gileno Filho</a>\n |\n Arquivado em: <a href="/categorias/tutoriais">tutoriais</a>\n </p>\n <p>\n <p>Uma das coisas mais interessantes do framework <a href="https://djangoproject.com/">Django</a> é sem dúvidas o seu <a href="https://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional">ORM</a>. E o que o torna interessante é a sua simplicidade e objetividade quando se utiliza os <a href="https://docs.djangoproject.com/en/1.9/ref/models/lookups/">Lookups</a> para realizar consultas simples e até as complexas que envolvem join\'s.</p>\n<p>Neste artigo irei explorar algumas coisas básicas para …</p>\n </p>\n <p><a href="/como-funciona-o-orm-do-django">[Leia mais]</a></p>\n <div class="hline"></div>\n <div class="spacing"></div>\n</article>\n<article>\n <a href="/curso-gratuito-de-django-com-python-3"><h3 class="ctitle">Curso Gratuito de Django com Python 3</h3></a>\n <p>\n Publicado em: <time datetime="2016-03-23T13:40:00-03:00">Qua 23 Março 2016</time>.\n |\n Por: <a href="/autores/gileno-filho">Gileno Filho</a>\n |\n Arquivado em: <a href="/categorias/cursos">cursos</a>\n </p>\n <p>\n <p>Olá pessoal, a algum tempo eu fechei as inscrições do meu curso de Django com Python 3 que comecei em 2014. Neste curso foi desenvolvido um projeto chamado SimpleMOOC, uma simples plataforma para ensino a distância que tinha fins didáticos.</p>\n<p>Recentemente eu resolvi disponibilizar as vídeo-aulas desse curso pois irei …</p>\n </p>\n <p><a href="/curso-gratuito-de-django-com-python-3">[Leia mais]</a></p>\n <div class="hline"></div>\n <div class="spacing"></div>\n</article>\n<article>\n <a href="/programacao-felicidade-mercado-e-outras-coisas"><h3 class="ctitle">Programação, felicidade, mercado e outras coisas...</h3></a>\n <p>\n Publicado em: <time datetime="2015-11-10T17:00:00-03:00">Ter 10 Novembro 2015</time>.\n |\n Por: <a href="/autores/gileno-filho">Gileno Filho</a>\n |\n Arquivado em: <a href="/categorias/utils">utils</a>\n </p>\n <p>\n <p>Obs: No final do texto tem alguns links e palestras interessantes mas vou contextualizar minha história antes.</p>\n<p>Nos últimos 2 anos eu tenho estudado bastante coisas relacionadas a Lifestyle Business, e isso começou quando eu percebi que o buraco negro corporativo e nem o conto de fadas das startups eram …</p>\n </p>\n <p><a href="/programacao-felicidade-mercado-e-outras-coisas">[Leia mais]</a></p>\n <div class="hline"></div>\n <div class="spacing"></div>\n</article>\n<article>\n <a href="/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-iii"><h3 class="ctitle">Usando o Scrapy e o Rethinkdb para capturar e armazenar dados imobiliários - Parte III</h3></a>\n <p>\n Publicado em: <time datetime="2015-09-08T13:33:00-03:00">Ter 08 Setembro 2015</time>.\n |\n Por: <a href="/autores/gileno-filho">Gileno Filho</a>\n |\n Arquivado em: <a href="/categorias/tutoriais">tutoriais</a>\n </p>\n <p>\n <h3>Introdução</h3>\n<p>Olá pessoal, esta é a parte III da série sobre o Scrapy, abaixo os links para todos os artigos da série:</p>\n<ul>\n<li><a href="http://gilenofilho.com.br/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-i/">Parte I - Configurando e rodando o Scrapy</a></li>\n<li><a href="http://gilenofilho.com.br/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-ii/">Parte II - Instalando, configurando e armazenando os dados no Rethinkdb</a></li>\n<li><a href="http://gilenofilho.com.br/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-iii/">Parte III - Deploy do projeto Scrapy</a></li>\n</ul>\n<p>Nos artigos anteriores mostrei como …</p>\n </p>\n <p><a href="/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-iii">[Leia mais]</a></p>\n <div class="hline"></div>\n <div class="spacing"></div>\n</article>\n<nav>\n <ul class="pagination">\n <li class="disabled">\n <a href="" aria-label="Previous"><span aria-hidden="true">«</span></a>\n </li>\n <li class="active"><a href="">1</a></li>\n <li><a href="/page/2/">2</a></li>\n <li><a href="/page/3/">3</a></li>\n <li><a href="/page/4/">4</a></li>\n <li><a href="/page/5/">5</a></li>\n <li><a href="/page/6/">6</a></li>\n <li>\n <a href="/page/2/" aria-label="Next">\n <span aria-hidden="true">»</span>\n </a>\n </li>\n </ul>\n</nav>\n </div>\n <div class="col-md-4">\n <h4><a href="https://www.udemy.com/construa-um-e-commerce-com-python-3-e-django/?couponCode=websitegilenofilho">Construa um E-Commerce com Python e Django</a></h4>\n <a href="https://www.udemy.com/construa-um-e-commerce-com-python-3-e-django/?couponCode=websitegilenofilho">\n <img src="/images/django-udemy.jpg" alt="Construa um E-Commerce com Python e Django" class="img-responsive" />\n </a>\n \t\t \t\t<h4>Pesquisar</h4>\n \t\t \t\t<div class="hline"></div>\n\t\t \t\t\t<p>\n\t\t \t\t\t\t<br>\n <form class="" action="https://www.google.com/search" method="get">\n <input name="q" type="text" class="form-control" placeholder="Pesquisar..." />\n <input type="hidden" name="sitesearch" value="http://www.gilenofilho.com.br">\n </form>\n\t\t \t\t\t</p>\n \t\t \t\t<div class="spacing"></div>\n\n \t\t \t\t<h4>Categorias</h4>\n \t\t \t\t<div class="hline"></div>\n <p><a href="/categorias/cursos"><i class="fa fa-angle-right"></i> cursos</a> <span class="badge badge-theme pull-right">6</span></p>\n <p><a href="/categorias/palestras"><i class="fa fa-angle-right"></i> palestras</a> <span class="badge badge-theme pull-right">6</span></p>\n <p><a href="/categorias/tutoriais"><i class="fa fa-angle-right"></i> tutoriais</a> <span class="badge badge-theme pull-right">12</span></p>\n <p><a href="/categorias/utils"><i class="fa fa-angle-right"></i> utils</a> <span class="badge badge-theme pull-right">4</span></p>\n\n \t\t \t\t<div class="spacing"></div>\n\n \t\t \t\t<h4>Artigos Recentes</h4>\n \t\t \t\t<div class="hline"></div>\n\t\t\t\t\t<ul class="popular-posts">\n\t\t <li>\n\t\t <p><a href="/python-datasets">Bibliotecas Python para carregar Dataset\'s</a></p>\n\t\t <em>Publicado em Seg 02 Janeiro 2017</em>\n\t\t </li>\n\t\t <li>\n\t\t <p><a href="/como-funciona-o-orm-do-django">Como funciona o ORM do Django</a></p>\n\t\t <em>Publicado em Sex 15 Julho 2016</em>\n\t\t </li>\n\t\t <li>\n\t\t <p><a href="/curso-gratuito-de-django-com-python-3">Curso Gratuito de Django com Python 3</a></p>\n\t\t <em>Publicado em Qua 23 Março 2016</em>\n\t\t </li>\n\t\t <li>\n\t\t <p><a href="/programacao-felicidade-mercado-e-outras-coisas">Programação, felicidade, mercado e outras coisas...</a></p>\n\t\t <em>Publicado em Ter 10 Novembro 2015</em>\n\t\t </li>\n\t\t </ul>\n\n \t\t \t\t<div class="spacing"></div>\n\n \t\t \t\t<h4>Tags</h4>\n \t\t \t\t<div class="hline"></div>\n\t\t \t\t\t<p>\n\t\t \t<a class="btn btn-theme" href="/tags/python" role="button">python</a>\n\t\t \t<a class="btn btn-theme" href="/tags/evento" role="button">evento</a>\n\t\t \t<a class="btn btn-theme" href="/tags/engenharia-de-avaliacoes" role="button">engenharia-de-avaliações</a>\n\t\t \t<a class="btn btn-theme" href="/tags/database" role="button">database</a>\n\t\t \t<a class="btn btn-theme" href="/tags/comunidade" role="button">comunidade</a>\n\t\t \t<a class="btn btn-theme" href="/tags/lifestyle" role="button">lifestyle</a>\n\t\t \t<a class="btn btn-theme" href="/tags/inteligencia-artificial" role="button">inteligência-artificial</a>\n\t\t \t<a class="btn btn-theme" href="/tags/design" role="button">design</a>\n\t\t \t<a class="btn btn-theme" href="/tags/pythonbrasil" role="button">pythonbrasil</a>\n\t\t \t<a class="btn btn-theme" href="/tags/universidade" role="button">universidade</a>\n\t\t \t<a class="btn btn-theme" href="/tags/django" role="button">django</a>\n\t\t \t<a class="btn btn-theme" href="/tags/redes-complexas" role="button">redes-complexas</a>\n\t\t \t<a class="btn btn-theme" href="/tags/video-aula" role="button">video-aula</a>\n\t\t \t<a class="btn btn-theme" href="/tags/startup" role="button">startup</a>\n\t\t \t<a class="btn btn-theme" href="/tags/deploy" role="button">deploy</a>\n\t\t \t<a class="btn btn-theme" href="/tags/dados" role="button">dados</a>\n\t\t \t\t\t</p>\n </div>\n </div>\n\n <!-- Footer -->\n<div id="footerwrap">\n <div class="container">\n <div class="row">\n <div class="col-md-6">\n <h4>Sobre</h4>\n <div class="hline-w"></div>\n <p>\n Website e Blog de Gileno Filho, escrevo sobre: Desenvolvimento,\n Python, Django, Ciência de Dados, Engenharia de Avaliações,\n Inteligência Artificial e Design Minimalista.\n</p>\n </div>\n <div class="col-md-6">\n <h4>Social</h4>\n <div class="hline-w"></div>\n <p>\n <a class="white-text" href="https://github.com/gileno" title="GitHub">\n <i class="fa fa-github"></i>\n </a>\n <a class="white-text" href="https://twitter.com/gilenofilho" title="Twitter">\n <i class="fa fa-twitter"></i>\n </a>\n <a class="white-text" href="https://www.facebook.com/gilenofilho" title="Facebook">\n <i class="fa fa-facebook"></i>\n </a>\n <a class="white-text" href="mailto:contato@gilenofilho.com.br" title="E-mail">\n <i class="fa fa-envelope"></i>\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n <!-- Scripts -->\n <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>\n <script src="/theme/js/bootstrap.min.js"></script>\n </main>\n </body>\n</html>'
In [5]:
soup = BeautifulSoup(response.text, 'html.parser')
In [6]:
soup.find('title')
Out[6]:
<title>Gileno Filho</title>
In [7]:
link = soup.find('h3', attrs={'class': 'ctitle'})
In [8]:
link
Out[8]:
<h3 class="ctitle">Bibliotecas Python para carregar Dataset's</h3>
In [9]:
links = soup.find_all('h3', attrs={'class': 'ctitle'})
In [10]:
for l in links:
print(l)
<h3 class="ctitle">Bibliotecas Python para carregar Dataset's</h3>
<h3 class="ctitle">Como funciona o ORM do Django</h3>
<h3 class="ctitle">Curso Gratuito de Django com Python 3</h3>
<h3 class="ctitle">Programação, felicidade, mercado e outras coisas...</h3>
<h3 class="ctitle">Usando o Scrapy e o Rethinkdb para capturar e armazenar dados imobiliários - Parte III</h3>
In [ ]:
Content source: gileno/curso-scrapy-aulas
Similar notebooks: