/ / Красива супа, връщаща нежелани знаци - питон, красива супа, питон-уникод

Красива супа, връщаща нежелани символи - python, beautifulsoup, python-unicode

Използвам Красива супа, за да изтрия страниците, опитвайки се да достигна височината на някои спортисти:

req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
height = soup.find_all("strong")
height = height[2].contents
print height

За съжаление това се връща:

[Ф "6" 0 ""]

Аз също се опитах:

height = str(height[2].contents)

и

height = unicode(height[2].contents)

но все още получавам [u "6" 0 "] като резултат.

Как мога да получа 6 "0" без допълнителни знаци? Благодаря за вашата помощ!

Отговори:

0 за отговор № 1

Това не са допълнителни знаци. .contents връща списъкелементът, който сте избрали, има само едно дете, така че вие ​​получавате списък, съдържащ един елемент.

Може би искате .string?


0 за отговор № 2

Ако искаш само третата силен , който не е нужно да намирате всички, можете да използвате css селектора nth-of-type, след като имате елемента, който просто трябва да се обадите .text:

req = requests.get(url)
soup = BeautifulSoup(req.content, "html.parser")
height = soup.select_one("strong:nth-of-type(3)").text

print(height)

Вие също трябва да се обаждате .content, оставяйки заявките да обработват кодирането.