Conversion de PDF en CSV de Magasins disponibles de la Chambre de commerce et d'industrie de Kagoshima
Les fichiers PDF sont séparés pour chaque zone, alors combinez-les en un seul
import requests
from bs4 import BeautifulSoup
url = "http://www.kagoshima-cci.or.jp/?p=20375"
r = requests.get(url)
r.raise_for_status()
soup = BeautifulSoup(r.content, "html.parser")
result = []
for a in soup.select("#contents_layer > span > p > a"):
    s = a.get_text(strip=True).replace("Toute la zone", "").lstrip("〇")
    #District exclu
    if not s.endswith("district"):
        result.append({"area": s, "link": a.get("href")})
import camelot
import pandas as pd
dfs = []
for data in result:
    tables = camelot.read_pdf(
        data["link"], pages="all", flavor="lattice", split_text=True, strip_text=" \n"
    )
    for table in tables:
        df_tmp = table.df.iloc[1:].set_axis(["Cinquante sons", "Nom du magasin", "emplacement"], axis=1)
        df_tmp["zone"] = data["area"]
        dfs.append(df_tmp)
df = pd.concat(dfs)
df.to_csv("kagoshima.csv", encoding="utf_8_sig")