Извлечение данных из списка сайта без лишних тегов - PullRequest
0 голосов
/ 16 декабря 2009

Рабочий код: Поиск в словаре Google через python и красивый суп -> просто выполните и введите слово.

Я довольно просто извлек первое определение из определенного элемента списка. Однако, чтобы получить простые данные, мне пришлось разделить свои данные на разрыв строки, а затем убрать их, чтобы удалить лишний тег списка.

У меня вопрос: есть ли способ извлечения данных, содержащихся в определенном списке, без выполнения указанных выше манипуляций со строками - возможно, функция в красивом супе, которую я еще не видел?

Это соответствующий раздел кода:

# Retrieve HTML and parse with BeautifulSoup.
    doc = userAgentSwitcher().open(queryURL).read()
    soup = BeautifulSoup(doc)

# Extract the first list item -> and encode it.
    definition = soup('li', limit=2)[0].encode('utf-8')

# Format the return as word:definition removing superfluous data.
    print word + " : " + definition.split("<br />")[0].strip("<li>")

1 Ответ

1 голос
/ 16 декабря 2009

Я думаю, что вы ищете findAll (text = True), это извлечет текст из тегов

definitions = soup('ul')[0].findAll(text=True)

Возвращает список всего текстового содержимого, разбитого на границах тега

...