Gostaria de pegar os horários diários do nascer e do pôr do sol em um site. É possível copiar conteúdo da Web com Python? quais são os módulos usados? Existe algum tutorial disponível?
python
screen-scraping
eozzy
fonte
fonte
Respostas:
Use urllib2 em combinação com a brilhante biblioteca BeautifulSoup :
fonte
soup = BeautifulSoup(requests.get('http://example.com').text)
backticks
o código e o converti em um link. Obrigado!Eu realmente recomendo Scrapy.
Cite uma resposta excluída:
fonte
Reuni scripts do meu trabalho de raspagem da Web nessa biblioteca de balde de bits .
Exemplo de script para o seu caso:
Resultado:
fonte
Eu sugiro fortemente verificar pyquery . Ele usa sintaxe semelhante a jquery (também conhecida como css), o que facilita muito as coisas para quem vem desse contexto.
Para o seu caso, seria algo como:
Resultado:
fonte
Você pode usar urllib2 para fazer solicitações HTTP e, em seguida, terá conteúdo da web.
Você pode obtê-lo assim:
Sopa bonita é um analisador de HTML python que deve ser bom para raspagem de tela.
Em particular, aqui está o tutorial deles sobre como analisar um documento HTML.
Boa sorte!
fonte
Eu uso uma combinação de Scrapemark (localizando urls - py2) e httlib2 (baixar imagens - py2 + 3). O scrapemark.py possui 500 linhas de código, mas usa expressões regulares, portanto, pode não ser tão rápido, não testou.
Exemplo para raspar o seu site:
Uso:
Resultado:
fonte
Facilite sua vida usando
CSS Selectors
Sei que cheguei atrasado para a festa, mas tenho uma boa sugestão para você.
O uso
BeautifulSoup
já foi sugerido. Prefiro usarCSS Selectors
para extrair dados dentro do HTMLfonte
Se pensarmos em obter o nome dos itens de qualquer categoria específica, podemos fazer isso especificando o nome da classe dessa categoria usando o seletor css:
Estes são os resultados parciais da pesquisa:
fonte
Aqui está um rastreador da web simples, usei o BeautifulSoup e procuraremos todos os links (âncoras) cujo nome da classe é _3NFO0d. Eu usei Flipkar.com, é uma loja de varejo online.
fonte
Python tem boas opções para raspar a web. O melhor com uma estrutura é arranhado . Pode ser um pouco complicado para iniciantes, então aqui está uma pequena ajuda.
1. Instale o python acima de 3,5 (os mais baixos até 2,7 funcionarão).
2. Crie um ambiente no conda (eu fiz isso).
3. Instale o scrapy em um local e execute a partir daí.
4.
Scrapy shell
fornecerá uma interface interativa para testar seu código.5.
Scrapy startproject projectname
criará uma estrutura.6.
Scrapy genspider spidername
criará uma aranha. Você pode criar quantas aranhas quiser. Enquanto isso, verifique se você está dentro do diretório do projeto.O mais fácil é usar solicitações e uma bela sopa . Antes de começar, dê uma hora para examinar a documentação, a maioria das dúvidas será resolvida. O BS4 oferece uma ampla variedade de analisadores que você pode optar. Use
user-agent
esleep
para facilitar a raspagem. BS4 retorna um bs.tag, então usevariable[0]
. Se houver js em execução, você não poderá raspar usando solicitações e bs4 diretamente. Você pode obter o link da API e analisar o JSON para obter as informações necessárias ou tentarselenium
.fonte