Сохранить Араби c Текст от HTML - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь получить следующий код (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 в Список слов )

...