Я удаляю файлы с веб-сайта и хочу переименовать эти файлы на основе существующих имен каталогов на моем компьютере (или, если проще, списка, содержащего эти имена каталогов).Это необходимо для соблюдения согласованного соглашения об именах.
Например, у меня уже есть каталоги с именем:
Barone Capital Management, Gabagool Alternative Investments, Aprile Asset Management, Webistics Investments
Извлеченные данные состоят из некоторых точных совпадений, некоторые "нечеткие совпадения и некоторые новые значения:
Barone, Gabagool LLC, Aprile Asset Management, New Name, Webistics Investments
Я хочу, чтобы очищенные файлы принимали соглашение об именах существующих каталогов.Например, Barone
станет Barone Capital Management
, а Gabagool LLC
будет переименовано Gabagool Alternative Investments
.
Так каков наилучший способ сделать это?Я посмотрел на fuzzywuzzy и некоторые другие библиотеки, но не уверен, что это правильный путь.
Это мой существующий код, который просто называет файл на основе привязки:
import praw
import requests
from bs4 import BeautifulSoup
import urllib.request
url = 'https://old.reddit.com/r/test/comments/b71ug1/testpostr23432432/'
headers = {'User-Agent': 'Mozilla/5.0'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
table = soup.find_all('table')[0]
#letter_urls = []
for anchor in table.findAll('a'):
try:
if not anchor:
continue
fund_name = anchor.text
letter_link = anchor['href']
urllib.request.urlretrieve(letter_link, '2018 Q4 ' + fund_name + '.pdf')
except:
pass
Обратите внимание, что список каталогов уже создан, и выглядит примерно так:
- /Users/user/Dropbox/Letters/Barone Capital Management
- /Users/user/Dropbox/Letters/Aprile Asset Management
- /Users/user/Dropbox/Letters/Webistics Investments
- /Users/user/Dropbox/Letters/Gabagool Alternative Investments
- /Users/user/Dropbox/Letters/Ro Capital
- /Users/user/Dropbox/Letters/Vitoon Capital