получение данных

s591962

Новичок
Пользователь
Окт 12, 2021
130
3
18
Код:
import requests, bs4
exampleFile = open ('example.html')
exampleSoup = bs4.BeautifulSoup (exampleFile.read(), 'lxml')
elems = exampleSoup.select('#author')
a = type(elems)
print('type=',a)     
a = len(elems)
print('len=',a)
a = type(elems[0])
print('ap=',a)
a = elems[0].getText()
print('ap=',a)
a = str(elems[0])
print('ap=',a)
a = elems[0].attrs
print('ap=',a)

pElems = exampleSoup.select('p')
a = str(pElems[0])
print('str(pElems[0])=',a)
a = pElems[0].getText()
print('pElems[0].getText()=',a)
a = str(pElems[1])
print('str(pElems[1])=',a)
a = pElems[1].getText()
print('pElems[1].getText()=',a)
a = str(pElems[2])
print('str(pElems[2])=',a)
a = pElems[2].getText()
print('pElems[2].getText()=',a)
Изучаю Питон по Свейгарту. При получении данных если текст на английском все хорошо, если на русском какая-то ерунда

type= <class 'bs4.element.ResultSet'>
len= 1
ap= <class 'bs4.element.Tag'>
ap= El Sweigart
ap= <span id="author">El Sweigart</span>
ap= {'id': 'author'}
str(pElems[0])= <p>Загрузите мои книги <strong>Python</strong> на моем сайте <a href="http://inventwithpython.com">my website</a>.</p>
pElems[0].getText()= Загрузите мои книги Python на моем сайте my website.
str(pElems[1])= <p class="slogan">Простой подход к изучению Python!</p>
pElems[1].getText()= Простой подход к изучению Python!
str(pElems[2])= <p>By <span id="author">El Sweigart</span></p>
pElems[2].getText()= By El Sweigart
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
Попробуй при открытии указать кодировку
open(path, encoding="utf-8")
 

s591962

Новичок
Пользователь
Окт 12, 2021
130
3
18
сделал
Код:
exampleFile = open ('example.html')
exampleSoup = bs4.BeautifulSoup (exampleFile.read(), 'encoding="utf-8"')

получаю Вам нужно установить библиотеку парсера? как поставить ее?
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
Python:
exampleFile = open('example.html', encoding="utf-8")
exampleSoup = bs4.BeautifulSoup (exampleFile.read(), 'lxml')
 

s591962

Новичок
Пользователь
Окт 12, 2021
130
3
18
Python:
exampleFile = open('example.html', encoding="utf-8")
exampleSoup = bs4.BeautifulSoup (exampleFile.read(), 'lxml')
Спасибо. Теперь осталось разобраться как это работает.
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
Что именно не понятно как работает?
 

s591962

Новичок
Пользователь
Окт 12, 2021
130
3
18
Что именно не понятно как работает?
спасибо, все разобрался
 

Форум IT Специалистов