我一直在試圖抓取下面的網站,但有一些問題。我找不到他們如何建立他們展示的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