舉例:
<h2 class='total fl'> '共找到' <span> 1219 </span> '個' <a class="xiaoquCount" href="/xiaoqu/jiading/">嘉定小區</a> </h2>
children的結果是一個可迭代對象:
xiaoqu_num=bs.find('h2',class_='total fl').children print(xiaoqu_num) <list_iterator object at 0x000002049C77B070>
要使用for循環來取得內容:
for c in xiaoqu_num: print(c) 共找到 <span> 1219 </span> 個 <a class="xiaoquCount" href="/xiaoqu/jiading/">嘉定小區</a>
contents返回的是一個子節點的列表,可以直接讀取:
xiaoqu_num=bs.find('h2',class_='total fl').contents print(xiaoqu_num) print(xiaoqu_num[0]) ['共找到', <span> 1219 </span>, '個', <a class="xiaoquCount" href="/xiaoqu/jiading/">嘉定小區</a>] '共找到'
兩個方法得到的子節點都包括屬性、文本、子標簽,子標簽整體算做一個子節點
區別是一個只能迭代,一個可以迭代,也可以直接取數據
如果要將所有子標簽的子孫節點也迭代,使用.descendants
xiaoqu_num=bs.find('h2',class_='total fl').descendants print(xiaoqu_num) for c in xiaoqu_num: print(c) <generator object Tag.descendants at 0x000002049C567A50> 共找到 <span> 1219 </span> 1219 個 <a class="xiaoquCount" href="/xiaoqu/jiading/">嘉定小區</a> 嘉定小區
如果要繼續查找子標簽,使用.find()
xiaoqu_num=bs.find('h2',class_='total fl').find('span').text print(xiaoqu_num) 1219