Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2021 16:04:45

Stovxc06
Зарегистрирован: 2021-03-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с парсером.

Итак вообщем, сам парсер работает, но заказчик потребовал сделать поиск по контенту сайта. Но тк сайт на румынском языке, там есть такая вещь как диакритики. И если сделать запрос без них, выйдет ошибка.

 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-ым скриншотом

Отредактировано Stovxc06 (Март 3, 2021 16:14:58)

Прикреплённый файлы:
attachment 219291921929129192.png (34,1 KБ)

Офлайн

#2 Март 3, 2021 18:59:05

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

Помогите с парсером.

В r.content заменяй все диакритики на соответствующие буквы, тоже делай и с текстом запроса.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Март 3, 2021 22:06:01

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

Помогите с парсером.

Stovxc06
сама ошибка, сравните с 1-ым скриншотом

парсер нужно указать
 soup = BeautifulSoup(r.content, 'html.parser')

Отредактировано xam1816 (Март 3, 2021 22:08:11)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version