2016-10-08 1 views
0

Так что я хочу, чтобы scrape значение атрибута в python и в настоящее время я использую регулярное выражение, но его не так эффективно, поэтому я хотел знать, что я должен использовать, поскольку многие говорят, что регулярное выражение плохо для такой вещи.Лучший способ получить значение из html в python?

Thanks

Это то, что я пытаюсь получить.

<input type="hidden" name="test" value="99948555"> 

Значение всегда содержит случайные числа.

+0

Я бы посмотрел HTMLParser (https://docs.python.org/2/library/htmlparser.html) –

ответ

1

Я хотел бы использовать BeautifulSoup для такого рода разбор:

from bs4 import BeautifulSoup 
html = '<input type="hidden" name="test" value="99948555">' 
soup = BeautifulSoup(html, 'html.parser') 
print(soup.find('input')['name'], ':', soup.find('input')['value']) 
# outputs : "test : 99948555" 

Что вы ищете здесь является: soup.find('input')['value']

Смотрите документацию для использования и примеров: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

Вы можете установить его следующим образом:

[python_binary] -m pip install bs4 
+0

'pip install beautifulsoup4', на самом деле –

+0

@ cricket_007 зависит от версии используемого вами питона. На centOS, например, у меня есть как python2.7, так и python3.4, а использование pip в качестве модуля работает каждый раз, в то время как бинарный файл используется только для одной версии python. Поэтому да, я рекомендую использовать pip в качестве модуля. –

+0

Ну, я прочитал документацию и получил ее работу, но я все еще не могу получить только значение:/i думал о преобразовании результата в строки и номера регулярных выражений. – rookiedude

Смежные вопросы