Мне нужно извлечь данные в двойные кавычки из строки.Эффективный способ извлечения данных в двойные кавычки
Вход:
<a href="Networking-denial-of-service.aspx">Next Page →</a>
Выход:
Networking-denial-of-service.aspx
В настоящее время я использую следующий метод, чтобы сделать это, и он работает нормально.
atag = '<a href="Networking-denial-of-service.aspx">Next Page →</a>'
start = 0
end = 0
for i in range(len(atag)):
if atag[i] == '"' and start==0:
start = i
elif atag[i] == '"' and end==0:
end = i
nxtlink = atag[start+1:end]
Итак, мой вопрос в том, что есть и другой эффективный способ выполнения этой задачи.
Thankyou.
Есть [регулярные выражения] (https://docs.python.org/2/howto /regex.html), но это [сильно обескуражено] (http://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-not), чтобы использовать их для HTML, потому что вы может пропустить много случаев. «Правильный» способ сделать это - использовать [HTMLParser] (https://docs.python.org/2/library/htmlparser.html) (или что-то поверх этого) для анализа HTML-кода, а затем выбрать узлы, которые вам нужны, и читать их атрибуты. – CherryDT
@CherryDT Можете ли вы предоставить образец кода или что-то еще. – dazzieta
Я на самом деле не нахожусь в python, поэтому я не уверен в том, чтобы представить пример. Вот почему это комментарий, а не ответ. Но то, что я сказал (есть регулярные выражения, но предпочтительнее HTML-парсер) относится и к другим языкам. – CherryDT