Web scraping dinâmico geralmente usa algumas bibliotecas Python, como solicitações para lidar com solicitações HTTP, selênio para simular o comportamento do navegador ou pyppeteer. O artigo a seguir focará no uso de selênio.
Selenium é uma ferramenta para testar aplicativos da web, mas também é frequentemente usado para web scraping, especialmente quando é necessário descartar conteúdo da web gerado dinamicamente por JavaScript. selenium pode simular o comportamento do usuário no navegador, como clicar, inserir texto e obter elementos de páginas da web.
Primeiro, certifique-se de ter o Selenium instalado. Caso contrário, você pode instalá-lo via pip:
pip install selenium
Você também precisa baixar o WebDriver para o navegador correspondente. Supondo que usemos o navegador Chrome, você precisa baixar o ChromeDriver e certificar-se de que seu caminho foi adicionado às variáveis de ambiente do sistema, ou você pode especificar seu caminho diretamente no código.
Aqui está um exemplo simples para obter o título de uma página da web:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # Setting up webdriver driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) # Open the webpage driver.get('https://www.example.com') # Get the webpage title title = driver.title print(title) # Close the browser driver.quit()
Este script abrirá example.com, obterá seu título e imprimirá.
Observe que webdriver_manager é uma biblioteca de terceiros que gerencia automaticamente as versões do WebDriver. Se não quiser usá-lo, você também pode baixar manualmente o WebDriver e especificar o caminho.
Páginas da web dinâmicas podem envolver conteúdo renderizado em JavaScript. Selenium pode esperar o carregamento desses elementos antes de operar, o que é muito adequado para processar essas páginas da web.
Ao usar Python para rastrear páginas dinâmicas da web, você geralmente usa um proxy. O uso de um proxy evita muitos obstáculos, por um lado, e acelera a eficiência do trabalho, por outro.
Introduzimos a instalação do selênio acima. Além disso, você também precisa baixar o WebDriver do navegador correspondente e certificar-se de que seu caminho seja adicionado às variáveis de ambiente do sistema, ou você pode especificar seu caminho diretamente no código.
Depois de concluir as etapas acima, podemos configurar o proxy e descartar páginas da web dinâmicas:
from selenium import webdriver from selenium.webdriver.chrome.options import Options # Set Chrome options chrome_options = Options() chrome_options.add_argument('--proxy-server=http://your_proxy_ip:port') # Specify the WebDriver path (if you have added the WebDriver path to the system environment variables, you can skip this step) # driver_path = 'path/to/your/chromedriver' # driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options) # If WebDriver path is not specified, the default path is used (make sure you have added WebDriver to your system environment variables) driver = webdriver.Chrome(options=chrome_options) # Open the webpage driver.get('https://www.example.com') # Get the webpage title title = driver.title print(title) # Close the browser driver.quit()
Neste exemplo, --proxy-server=http://your_proxy_ip:port é o parâmetro para configurar o proxy. Você precisa substituir your_proxy_ip e porta pelo endereço IP e número da porta do servidor proxy que você realmente usar
Se o seu servidor proxy exigir autenticação, você pode usar o seguinte formato:
chrome_options.add_argument('--proxy-server=http://username:password@your_proxy_ip:port')
Onde nome de usuário e senha são o nome de usuário e a senha do seu servidor proxy.
Depois de executar o código acima, o Selenium acessará a página da web de destino por meio do servidor proxy configurado e imprimirá o título da página da web.
Como especificar o caminho para o ChromeDriver?
ChromeDriver faz parte do Selenium WebDriver. Ele interage com o navegador Chrome por meio da API WebDriver para implementar funções como testes automatizados e rastreadores da web.
Especificar o caminho do ChromeDriver envolve principalmente a configuração de variáveis de ambiente. Aqui estão as etapas específicas:
1. Encontre o local de instalação do Chrome
Você pode encontrá-lo clicando com o botão direito no atalho do Google Chrome na área de trabalho e selecionando “Abrir local do arquivo”.
2. Adicione o caminho de instalação do Chrome à variável de ambiente do sistema Path
Isso permite que o sistema reconheça o ChromeDriver em qualquer local.
3. Baixe e descompacte o ChromeDriver
Certifique-se de baixar o ChromeDriver que corresponde à versão do navegador Chrome e descompacte-o em um programa exe.
4. Copie o arquivo exe do ChromeDriver para o caminho de instalação do Chrome
Desta forma, quando você precisar usar o ChromeDriver, o sistema poderá reconhecê-lo e chamá-lo automaticamente
O texto acima é a aplicação de selenium e webdriver no rastreamento dinâmico da web em python e como evitá-lo ao rastrear páginas da web. Claro, você também pode praticar operações reais através dos exemplos acima.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3