Я пытаюсь получить следующий код (Python 3.7.6 - Windows 10), чтобы убрать теги HTML и оставить меня с текстом арабского c. Код работает, если я работаю с текстом Engli sh.
Проблемы, похоже, связаны с тем, когда я изменяю тип данных на STRing (строка # 12). Я использую команду 'find' (строка № 15), чтобы определить начало текста арабского языка c, который я хочу извлечь; минус теги HTML. Команда 'find' (строка # 15) работает только со строковыми типами данных
1 import urllib.request, urllib.error, urllib.parse
2 import sys
3 import re
4 url = 'https://www.altafsir.com/printpage.asp?status=Paging2&FileName=C%3A%5CITGWebsites%5CAltafsir%5CTafasir%5CPreCompiled%5CAl%5FRazi%5C04%2D002%2D029%2ETXT&Page=Tafasir&Sora=2&Ayah=29'
5 response = urllib.request.urlopen(url)
6 HTML = response.read()
10 type(HTML)
11 len(HTML)
12 HTML = str(HTML)
13 type(HTML)
14 len(HTML)
15 startLoc = HTML.find("<font color")
16 endLoc = HTML.rfind("<!--TEXTAREA")
17 HTML = HTML[startLoc:endLoc]
18 inside = 0
19 text = ''
20 for char in HTML:
21 if char == '<':
22 inside = 1
23 elif (inside == 1 and char == '>'):
24 inside = 0
25 elif inside == 1:
26 continue
27 else:
28 text += char
29 wordlist = re.compile(r'\W+', re.UNICODE).split(text)
При поиске есть несколько ссылок на Beautiful Soup. Я хотел бы избежать этого приложения / библиотеки и найти свое решение, используя «собственный» код.
Дополнительный поиск предложил использовать синтаксис кодирования / декодирования. Но все примеры, которые я нашел, связаны либо с Python 2.x, либо, кажется, не работают (для меня).
Я боролся с этим уже пару дней и out of options.
PS - Вышеприведенный код взят с очень полезного сайта ( С HTML в Список слов )