使用 Python 迭代 div 以获取 Selenium 中的表

问题描述 投票:0回答:1

我正在尝试使用 python 和 selenium 从以下站点获取信息: https://conveniomarco.mercadopublico.cl/alimentos/marketplace/seller/profile/shop/797095-5800279

它有两个部分: “商业条件”和 “地区条件”

我需要将“Condiciones Regionales”部分的所有表格放入数据框中,包括表格之外的标题。

我可以使用以下代码获取所有表格信息:

html=driver.find_element(By.CSS_SELECTOR, "body").get_attribute('outerHTML')
pd.read_html(html)[0]...
pd.read_html(html)[2]

但是通过这种方式,我失去了标题,例如“Region de Coquimbo”,因为这不是表格的一部分。

我一直在尝试迭代所有 div 以获取标题,然后获取内部表格,使用以下代码:

condiciones_regionales=driver.find_element(By.CSS_SELECTOR, "div.wk_mp_design div.wk-mp-custom-regional div.wk-mp-profile-block div.wk-mp-aboutus-data div.box-regional-info")
condiciones=condiciones_regionales.find_elements(By.CSS_SELECTOR, "div.item")
    item2=[]
    for item2 in condiciones_regionales:
        print(item2.text)

但我收到错误:“'WebElement'对象不可迭代”

如何解决?

谢谢

python pandas selenium-webdriver web-scraping
1个回答
0
投票

你可以只用 pandas 获得所有这些表:

import pandas as pd

dfs = pd.read_html('https://conveniomarco.mercadopublico.cl/alimentos/marketplace/seller/profile/shop/797095-5800279')
for df in dfs:
    print(df)

终端结果:

    0   1
0   Razón social    SERVICIOS INTEGRADOS SIDAPT LIMITADA
1   Nombre de fantasía  SERVICIOS INTEGRADOS SIDAPT LTDA
2   Rut 76.299.358-9
3   Representante Legal EGIDIO ALEXIS VILLA RAMIREZ
4   Teléfono Representante Legal    977765789
5   Mail Representante Legal    [email protected]
6   Direccion   Avda La Oración 1250, Pudahuel
7   Comuna  QUINTA NORMAL
8   Region  REGIÓN METROPOLITANA
9   Nombre del Encargado de Convenio Marco de la E...   EGIDIO ALEXIS VILLA RAMIREZ
10  Correo Electrónico del Encargado de Convenio M...   [email protected]
11  Teléfono del Encargado de Convenio Marco    229335564
12  Años de experiencia 52
13  Tamaño de gondola   100000
14  Vende cajas/bolsas  No
0   1
0   Nombre del Contacto EGIDIO VILLA
1   Teléfono de Contacto    29335564
2   Correo de Contacto  [email protected]
3   Plazo de entrega máximo (días hábiles)  10
4   Tiempo de entrega en emergencia o catástrofe (...   192
5   Monto Máximo Orden de Compra    $0
6   Comunas de la región donde no se realiza despacho   NaN
0   1
0   Nombre del Contacto EGIDIO VILLA
1   Teléfono de Contacto    29335564
2   Correo de Contacto  [email protected]
3   Plazo de entrega máximo (días hábiles)  5
4   Tiempo de entrega en emergencia o catástrofe (...   72
5   Monto Máximo Orden de Compra    $0
6   Comunas de la región donde no se realiza despacho   NaN

[...]

对于 pandas 文档,请访问这里

© www.soinside.com 2019 - 2024. All rights reserved.