3 回答

TA貢獻1826條經驗 獲得超6個贊
我分析了網站發出的請求,發現您可以通過一個請求獲取所有數據,即 json 內容:
import requests as r
from bs4 import BeautifulSoup
import json
url = "https://fnet.bmfbovespa.com.br/fnet/publico/abrirGerenciadorDocumentosCVM?cnpjFundo=11026627000138&idCategoriaDocumento=6&idTipoDocumento=45"
res = r.get("http://fnet.bmfbovespa.com.br/fnet/publico/pesquisarGerenciadorDocumentosDados?d=0&s=0&l=200&"+url.split("?")[1])
json_result = json.loads(res.text)
print(json_result)
注意:如果“recordsTotal”超過200,則需要再次請求,參數為“?d=0&s=200&l=200”,s代表start,l代表limit,始終保持200以一次抓取最大值要求。

TA貢獻1865條經驗 獲得超7個贊
正如你所看到的,兩個按鈕之間的區別只是按鈕的數量
//*[@id="tblDocumentosEnviados_paginate"]/span/a[1]
//*[@id="tblDocumentosEnviados_paginate"]/span/a[2]
如果你想迭代它,你可以簡單地更改 xpath 中的數字
例如
for i in range(1, numberOfPages):
browser.find_element_by_xpath("//[@id="tblDocumentosEnviados_paginate"]/span/a["+str(i)+"]")
希望這能解決您想要做的事情

TA貢獻1779條經驗 獲得超6個贊
正如你所看到的,兩個按鈕之間的區別只是按鈕的數量
//*[@id="tblDocumentosEnviados_paginate"]/span/a[1]
//*[@id="tblDocumentosEnviados_paginate"]/span/a[2]
如果你想迭代它,你可以簡單地更改 xpath 中的數字
例如
for i in range(1, numberOfPages):
browser.find_element_by_xpath("//[@id="tblDocumentosEnviados_paginate"]/span/a["+str(i)+"]")
希望這能解決您想要做的事情
添加回答
舉報