Найти - Пользователи
Полная версия: Помогите с парсером.
Начало » Python для экспертов » Помогите с парсером.
1
Stovxc06
Итак вообщем, сам парсер работает, но заказчик потребовал сделать поиск по контенту сайта. Но тк сайт на румынском языке, там есть такая вещь как диакритики. И если сделать запрос без них, выйдет ошибка.

 from bs4 import BeautifulSoup
import requests
list_of_links = ['https://anrceti.md/directors', ]
list_for_diacritics = ['Ă', 'ă', 'î', 'Î', 'â', 'Â', 'ș', 'Ș', 'ț', 'Ț']
link = "http://balti.md/primaria/aparatul-primariei/"
search_word = input('Întroduceți numele sau prenumele: ').capitalize()
r = requests.get(link)
soup = BeautifulSoup(r.content)
soup = soup.get_text()
answer = None
data = str(soup).split()
if search_word in data:
    dictOfWords = {i: data[i] for i in range(0, len(data))}
    for name1, name2 in dictOfWords.items():  # for name, age in dictionary.iteritems():  (for Python 2.x)
        if name2 == search_word:
            print(str(name1) + ' ' + search_word + "  " + link)
            print(name1 + 1)
            print(search_word + " " + dictOfWords[name1 + 1] + "  " + link)
            print(dictOfWords[name1 - 1] + " " + search_word + "  " + link)
else:
    answer = 'sorry'
    print(answer) 
[/code]
Вот сам код, ещё скриншоты с ошибкой. Помогите, буду очень рад.
https://imgur.com/a/FhMShOQ , сама ошибка, сравните с 1-ым скриншотом
Rodegast
В r.content заменяй все диакритики на соответствующие буквы, тоже делай и с текстом запроса.
xam1816
Stovxc06
сама ошибка, сравните с 1-ым скриншотом

парсер нужно указать
 soup = BeautifulSoup(r.content, 'html.parser')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB