我一直在试图抓取下面的网站,但有一些问题。我找不到他们如何建立他们展示的empresas(英语:公司)列表。
当我选择一些类别并提交表单时,url并没有改变,我试着去查看请求但没有成功。(不是webdeveloper在这里)。如何刮动JavaScript动态网站
http://www.vitrinedoexportador.gov.br
我第一次尝试去浏览网页中的所有链接。我试过的第一种方法是强制所有的URL。他们有这个语法。 “http://www.vitrinedoexportador.gov.br/bens/ve/br/detalhes/index/cdEmpresa/”+6位数字+“#inicio”。
但我认为尝试999999的可能性将是错误的方法来解决问题。 我尝试的下一个方法是使用硒webdriver浏览页面。 用下面的代码:
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
import time
browser = webdriver.Firefox()
browser.get('http://www.vitrinedoexportador.gov.br/bens/ve/br#a')
# navigate to the page
select = Select(browser.find_element_by_id('cdSetor'))
print (select.options)
for opt in select.options:
print (opt.text)
opt.click()
if(opt.text != 'Escolha'):
opt.submit()
time.sleep(5) # tem q colocar esse para a página poder carregar.
listaEmpresas = browser.find_elements_by_tag_name("h6")
for link in listaEmpresas:
print(link)
print (listaEmpresas)
listaEmpresas[0].click()
但作用似乎慢得令人难以置信,我只能得到一个仍然companie,有没有更聪明的方式做到这一点?
我试过的其他方法是使用废料,我已经可以解析与我想要的所有字段的整个公司页面。所以如果你们帮助我获得所有的IDS,我可以在我已经内置的scrapy项目中解析。
谢谢。
我正在做你说过的这种方式。有没有建议让硒快速运行? – WagnerAlbJr
不...好运 – Tico