Исключение строки из регулярного выражения Python - PullRequest
1 голос
/ 24 января 2012

Использование beautfiulsoup для синтаксического анализа исходного кода для очистки:

tempSite = preSite+'/contact_us/'
print tempSite
theTempSite = urlopen(tempSite).read()
currentTempSite = BeautifulSoup(theTempSite)
lightwaveEmail = currentTempSite('input')[7]

#<input type="Hidden" name="bb_recipient" value="comm2342@gmail.com" />

Как я могу перекомпилировать lightwaveEmail так, чтобы печатался только comm2342@gmail.com?

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Что-то пошло не так. Причиной неправильного подхода является то, что вы используете пронумерованные индексы для поиска нужного тега - BeautifulSoup найдет для вас теги на основе их тега или атрибутов, что значительно упрощает его.

Вы хотите что-то вроде

tempSite = preSite+'/contact_us/'
print tempSite
theTempSite = urlopen(tempSite).read()
soup = BeautifulSoup(theTempSite)
tag = soup.find("input", { "name" : "bb_recipient" })
print tag['value']
0 голосов
/ 24 января 2012

Если вопрос заключается в том, как получить атрибут значения из объекта тега, то вы можете использовать его в качестве словаря:

lightwaveEmail['value']

Подробнее об этом можно прочитать в документации BeautifulSoup .

Если вопрос в том, как найти в супе все теги input с таким значением, то вы можете искать их следующим образом:

soup.findAll('input', value=re.compile(r'comm2342@gmail.com'))

Подобный пример можно найти также в документации BeautifulSoup .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...