python爬虫類-BeautifulSoup(2)子孫ノード(.children.descendants)と親ノード(.parents)
10899 ワード
3.1子ノードと子ノード
同じ理屈だdiv.find_all(‘img’)はすべてのdivの中のimgラベルを見つけます.
...descendants
比較コードは次のとおりです.
実行結果からsum=13,sum 2=86 descendantsの第1部を比較すると
soup.body.h1# body h1, h1 body
同じ理屈だdiv.find_all(‘img’)はすべてのdivの中のimgラベルを見つけます.
...descendants
比較コードは次のとおりです.
html = urlopen('http://www.pythonscraping.com/pages/page3.html')
soup = BeautifulSoup(html, 'lxml')
children = soup.find('table',{'id':'giftList'}).children
descendants = soup.find('table',{'id':'giftList'}).descendants
sum = 0
for child in children:
print(child)
sum +=1
print(sum)
sum2 = 0
for descendant in descendants:
sum2+=1
print(descendant)
print(sum2)
実行結果からsum=13,sum 2=86 descendantsの第1部を比較すると
#============= soup.find('table',{'id':'giftList'}) ====
Item Title
Description
Cost
Image
#============ soup.find('table',{'id':'giftList'}) ====
#============ ,('table',{'id':'giftList'}) ==
Item Title
#============ ,('table',{'id':'giftList'}) ==
Item Title#========= , ================
#============ ====================
Description
Description
Cost
Cost
....
,children 。 descendants , 。
3.2
, ,.parents .parent。
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen('http://www.pythonscraping.com/pages/warandpeace.html')
soup = BeautifulSoup(html)
print(soup.find('img', {'src':'../img/gifts/img1.jpg'}).parent.previous_sibling.get_text())
コードがどのように しているかを します.
--
--(3)
--"$15.00"(4)
--s(2)
-- "../img/gifts/img1.jpg">(1)
1. src=”../img/gifts/img1.jpg” img
2. img s.
3. s
4.