Я пытаюсь извлечь все заглавные фильмы из списка, который я Царапины: Я пытаюсь использовать регулярное выражение, чтобы сделать этоИзвлечение всех слов капитала из списка (Python3)
wikis = ["http://www.boxofficemojo.com/daily/chart/"]
for wiki in wikis:
website = requests.get(wiki)
soup = BeautifulSoup(website.content, "lxml")
text = ''.join([element.text for element in soup.body.find_all(lambda tag: tag != 'script', recursive=False)])
new = re.sub(r'[^a-zA-Z \n]','',text)
caps = re.findall('([A-Z]+(?=\s[A-Z]+)(?:\s[A-Z]+)+)', new)
Однако мой выход является добавив дополнительную заглавную букву в конце моих фильмов
'BEASTS OF NO NATIONN'
'EVEREST U'
'THE MARTIANF'
Не знаю почему, но я знаю, что это что-то делать с моим кодом регулярных выражений:
caps = re.findall('([A-Z]+(?=\s[A-Z]+)(?:\s[A-Z]+)+)', new)
Как это исправить?
Нужно ли это с помощью регулярного выражения? 'all (char.isupper() для char в заголовке)' должен делать трюк – inspectorG4dget
Я думаю, что он имеет отношение к форматированию строки нового. Поскольку вы использовали re.sub для замены всего, что не является новой строкой, буквой или пробелом, тогда первая строка производителя (т. Е. Warner bros, fox и т. Д.) Включается в строку. –
Как я могу это исправить? – user3682157