integrar o selenium com o scrapy para a página dinâmica raspando
Ao tentar raspar dados de páginas dinâmicas usando a scrapy, o processo de rastreamento padrão pode cair curto. Geralmente, esse é o caso quando a paginação depende da carga assíncrona, como clicar em um botão "próximo" que não modifica o URL. Para superar esse desafio, a incorporação de selênio no seu Scrapy Spider pode ser uma solução eficaz. No entanto, várias abordagens comuns incluem:
dentro do método parse ():
essa abordagem envolve o uso do selenium dentro do método parse () da sua aranha para lidar com a paginação e a extração de dados para cada página. Executa a paginação antes de passar a resposta ao método parse () da aranha. Isso permite um controle mais flexível sobre a lógica do Selenium. O snippet a seguir demonstra como integrar o selênio com a scrapy:importar o scrapy do selênio importar webdriver Classe ProductsPider (Scrapy.spider): name = "product_spider" permitido_domains = ['ebay.com'] start_urls = ['https://www.ebay.com/sch/i.html?_odkw=books& ;_osacat=0& ;_trksid=p2045573.m570.l1313.trc0.xpython& def __init __ (self): self.driver = webdriver.firefox () def parse (self, resposta): self.driver.get (Response.url) enquanto é verdade: next = self.driver.find_element_by_xpath ('// td [@class = "pagn-next"]/a') tentar: Next.Click () # Obtenha e processe os dados aqui exceto: quebrar Self.driver.close ()
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