[PYTHON] Convertir le PDF de la liste des concessionnaires de la campagne Go To Eat Hokkaido en CSV

Convertir le PDF de la liste des concessionnaires de la Campagne Go To Eat Hokkaido en CSV

Les lettres disparaissent

cubepdf.png

font.png

shin.png

kuma.png

programme

import camelot

import requests
from bs4 import BeautifulSoup

from urllib.parse import urljoin

import pandas as pd

url = "https://gotoeat-hokkaido.jp/general/particStores/"

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
}

r = requests.get(url, headers=headers)
r.raise_for_status()

soup = BeautifulSoup(r.content, "html.parser")

dfs = []

for li in soup.select("ul.cf > li > a"):

    link = urljoin(url, li.get("href"))

    area = li.get_text(strip=True)

    tables = camelot.read_pdf(link, split_text=True, pages="all", strip_text="\n", )

    for table in tables:

        df_tmp = pd.DataFrame(table.data[1:], columns=table.data[0])
        df_tmp.columns = df_tmp.columns.map(lambda s: "".join(s.split()))
        df_tmp["surface"] = area

        dfs.append(df_tmp)

df

df = pd.concat(dfs)

df = df.fillna("").applymap(
    lambda s: s.replace("(cid:1279)", "Yue")
    .replace("(cid:1535)", "Han")
    .replace("(cid:1791)", "ours")
    .replace("(cid:2303)", "Bouilli")
    .replace("(cid:2559)", "Nouveau")
    .replace("(cid:2815)", "Bruyant")
    .replace("(cid:3071)", "grue")
)

#Gestionnaire CJK/A remplacé Kang Hee
tbl = str.maketrans(
    "- - - L'eau _ ⿌ ⿍ ⿎ ⿏ ⿐ ⿑ ⿒ ⿓ ⿔ ⿕ 戶 黑",
    "乚 亻 刂 㔾 兀 尣 尢 巳 幺 彑 忄 扌 攵 旡 Mère 氵 氺 灬 丬 犭 罒 礻 罓 罒 耂 艹 衤 衤 轀 耂 艹 衤 衤 亅 躠 儿 儿 儿 儿 儿 儿 儿 夊 凵 冖 冫 几 凵 puissance de l'épée 勹 匕 匚 匸 10 卜 卩 厂 厶 厶 囗 囗 夂 夊 夊 夊 夊 Yumiko Pierres d'épéiste, épées, trous, riz en bambou, boîtes de fil, épées, épées, oreilles, épées, épées, épées, épées, épées, épées, épées, épées 辵 酉 釆 臆 辆 辆 隶 隹 隹 靹 韶 韭 蟭 蟭 蟭 蟭 蟭 蟭 觥 鬥 鬯 鬲 oiseau poisson démon 鹵 麥 黃 黍 黍 黹 黽 Utsudo Noir",
)

df = df.applymap(lambda s: s.translate(tbl))

df.reset_index(drop=True, inplace=True)

df.index += 1

df.to_csv("gotoeat_hokkaido.csv", encoding="utf_8_sig")

Recommended Posts

Convertir le PDF de la liste des concessionnaires de la campagne Go To Eat Hokkaido en CSV
Convertir le PDF de la liste des magasins membres Go To EAT dans la préfecture de Kumamoto en CSV
Convertir le PDF de la préfecture de Chiba Aller à la liste des magasins des membres EAT en CSV (commande)
Convertir le PDF de la liste des magasins membres Go To EAT dans la préfecture de Niigata en CSV
Convertir le PDF des magasins disponibles de Go To EAT dans la préfecture de Kagoshima en CSV
Convertir le PDF des magasins membres Go To EAT de la préfecture d'Ishikawa en CSV
Convertir le PDF de la liste de produits contenant des surfactants efficaces pour le nouveau virus corona en CSV
Convertir de PDF en CSV avec pdfplumber
Gratter la liste des magasins membres Go To EAT dans la préfecture de Fukuoka et la convertir en CSV
Gratter la liste des magasins membres Go To EAT dans la préfecture de Niigata et la convertir en CSV
Convertir le PDF d'un nouveau cas d'épidémie corona dans la préfecture d'Aichi en CSV
PDF de la liste des magasins du buffet du petit-déjeuner COCO converti en CSV
Convertir un objet de tranche en liste de numéros d'index
[Python] Convertir le texte PDF en CSV pour chaque page (2/24 postscript)
Scraping Go To EAT membres magasins dans la préfecture d'Osaka et conversion au format CSV
[Python] Convertir la liste en Pandas [Pandas]
Convertissez rapidement SDF en CSV
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
Convertir un PDF en documents par OCR
Convertir Markdown en PDF en Python
Convertir un PDF A4 en A3 toutes les 2 pages
Convertir la liste en DataFrame avec python
Python> liste> Convertir une double liste en une seule liste
Conversion de pdf en txt 2 [pyocr]
Convertir un PDF en image avec ImageMagick
Je souhaite convertir une table convertie en PDF en Python en CSV