Я очищаю страницу с PyQuery Python, и меня немного смущают типы, которые она возвращает, и, в частности, как перебирать список результатов.this:
<div class="formwrap">blah blah <h3>Something interesting</h3></div>
<div class="formwrap">more rubbish <h3>Something else interesting</h3></div>
Как мне получить теги <h3>
внутри, один за другим, чтобы я мог их обработать?Я пытаюсь:
results_page = pq(response.read())
formwraps = results_page(".formwrap")
print type(formwraps)
print type([formwraps])
for my_div in [formwraps]:
print type(my_div)
print my_div("h3").text()
Это приводит к:
<class 'pyquery.pyquery.PyQuery'>
<type 'list'>
<class 'pyquery.pyquery.PyQuery'>
Something interesting something else interesting
Похоже, что никакой реальной итерации не происходит.Как я могу вытащить каждый элемент в отдельности?
Дополнительный вопрос от новичка: что делают квадратные скобки вокруг [a]
?Похоже, он преобразует специальный объект Pyquery в список.Является ли []
стандартным оператором Python?
------ ОБНОВЛЕНИЕ --------
Я нашел функцию 'each' вдокументы для пикеров .Однако я не понимаю, как использовать это для того, что я хочу.Скажем, я просто хочу распечатать содержимое <h3>
.Это приводит к синтаксической ошибке: почему?
formwraps.each(lambda e: print e("h3").text())