BeautifulSoup4: амперсанд в текстеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 BeautifulSoup4: амперсанд в тексте

Сообщение Anonymous »

У меня проблема с использованием BeautifulSoup4... (Я новичок в Python/BeautifulSoup, так что простите меня, если я тупой)

Почему следующий код:

Код: Выделить всё

from bs4 import BeautifulSoup

soup_ko = BeautifulSoup('foobar & bazqux')
soup_ok = BeautifulSoup('foobar and bazqux')

print soup_ko.find_all('option')
print soup_ok.find_all('option')
выведите следующий результат:

Код: Выделить всё

[foo, bar & baz]
[foo, bar and baz, qux]
Я ожидал того же результата, массива из трех моих вариантов... но BeautifulSoup, похоже, не нравится амперсанд в тексте? Как мне избавиться от этого и получить правильный массив, не редактируя HTML (или не преобразовывая/конвертируя его)?

спасибо,

Изменить: Похоже на ошибку 4.2.0... я загрузил версии 4.2.0 и 4.2.1 (с http://www.crummy.com/software /BeautifulSoup/bs4/download/4.2/beautifulsoup4-4.2.0.tar.gz и http://www.crummy.com/software/Beautifu ... 2.1.tar.gz), разархивируйте его в папке со скриптами, измените мой код на:

Код: Выделить всё

import sys
sys.path.insert(0, "beautifulsoup4-" + sys.argv[1])
from bs4 import BeautifulSoup, __version__

print "Beautiful Soup %s" % __version__
soup_ko = BeautifulSoup('foobar & bazqux')
print soup_ko.find_all('option')
и получил результаты:

Код: Выделить всё

15:24:38 pataluc ~ % python stack.py 4.2.0
Beautiful Soup 4.2.0
[foo, bar & baz]
15:24:41 pataluc ~ % python stack.py 4.2.1
Beautiful Soup 4.2.1
[foo, bar & baz, qux]
поэтому мой вопрос закрыт. спасибо за ваши комментарии, благодаря которым я понял, что это проблема версии.

Подробнее здесь: https://stackoverflow.com/questions/169 ... nd-in-text
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Что означает знак & (амперсанд) в конце сигнатуры функции-члена?
    Гость » » в форуме C++
    0 Ответы
    101 Просмотры
    Последнее сообщение Гость
  • Амперсанд перед аргументом функции в C++
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как правильно обрабатывать амперсанд для разделителя в параметрах запроса URL-адреса, вводимого пользователем, и при это
    Anonymous » » в форуме Html
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • BeautifulSoup4 – Как мне получить детей следующего брата или сестры?
    Anonymous » » в форуме Python
    0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous
  • Как правильно использовать функцию выбора в BeautifulSoup4?
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»