Python Language
HTML पार्सिंग
खोज…
ब्यूटीसाउप में एक तत्व के बाद एक पाठ का पता लगाएँ
कल्पना कीजिए कि आपके पास निम्न HTML हैं:
<div>
<label>Name:</label>
John Smith
</div>
और आपको label
तत्व के बाद "जॉन स्मिथ" पाठ का पता लगाने की आवश्यकता है।
इस स्थिति में, आप पाठ द्वारा label
तत्व का पता लगा सकते हैं और फिर .next_sibling
गुण का उपयोग कर .next_sibling
हैं :
from bs4 import BeautifulSoup
data = """
<div>
<label>Name:</label>
John Smith
</div>
"""
soup = BeautifulSoup(data, "html.parser")
label = soup.find("label", text="Name:")
print(label.next_sibling.strip())
John Smith
प्रिंट।
BeautifulSoup में CSS चयनकर्ताओं का उपयोग करना
सुंदरसुपर में सीएसएस चयनकर्ताओं के लिए एक सीमित समर्थन है , लेकिन सबसे अधिक इस्तेमाल किए जाने वाले को कवर करता है। किसी एक तत्व को खोजने के लिए कई तत्वों और select_one()
को खोजने के लिए select()
विधि का उपयोग select()
।
मूल उदाहरण:
from bs4 import BeautifulSoup
data = """
<ul>
<li class="item">item1</li>
<li class="item">item2</li>
<li class="item">item3</li>
</ul>
"""
soup = BeautifulSoup(data, "html.parser")
for item in soup.select("li.item"):
print(item.get_text())
प्रिंटों:
item1
item2
item3
PyQuery
अजगर अजगर के लिए एक jquery की तरह पुस्तकालय है। इसमें css चयनकर्ताओं का बहुत अच्छा समर्थन है।
from pyquery import PyQuery
html = """
<h1>Sales</h1>
<table id="table">
<tr>
<td>Lorem</td>
<td>46</td>
</tr>
<tr>
<td>Ipsum</td>
<td>12</td>
</tr>
<tr>
<td>Dolor</td>
<td>27</td>
</tr>
<tr>
<td>Sit</td>
<td>90</td>
</tr>
</table>
"""
doc = PyQuery(html)
title = doc('h1').text()
print title
table_data = []
rows = doc('#table > tr')
for row in rows:
name = PyQuery(row).find('td').eq(0).text()
value = PyQuery(row).find('td').eq(1).text()
print "%s\t %s" % (name, value)
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow