2009-11-02 7 views
5

मैं एक वेबपृष्ठ का शीर्षक प्राप्त करना चाहता हूं जिसे मैं urllib2 का उपयोग करके खोलता हूं। ऐसा करने का सबसे अच्छा तरीका है, एचटीएमएल को पार्स करने के लिए और मुझे जो चाहिए वह ढूंढें (अब केवल -टैग के लिए लेकिन भविष्य में और अधिक की आवश्यकता हो सकती है)।पायथन लाने <title>

क्या इस उद्देश्य के लिए कोई अच्छा पार्सिंग lib है?

उत्तर

9

हाँ मैं BeautifulSoup

सिफारिश करेंगे यह बस है::

html = urllib2.urlopen("...").read() 
from BeautifulSoup import BeautifulSoup 
soup = BeautifulSoup(html) 
print soup.title.string 
0

Beautiful Soup का उपयोग करें। आप शीर्षक मिल रहे हैं

url = 'http://www.example.com' 
response = urllib2.urlopen(url) 
html = response.read() 

soup = BeautifulSoup(html) 
title = soup.html.head.title 
print title.contents 
5

Beautiful Soup प्रयास करें

soup = BeautifulSoup(html) 
myTitle = soup.html.head.title 

या

myTitle = soup('title') 

से the documentation

यह बहुत मजबूत है और कोई फर्क नहीं पड़ता कि यह कैसे गन्दा है एचटीएमएल पार्स जाएगा लिया।

1

आप लोग एक कार्य के लिए एक संपूर्ण अतिरिक्त पुस्तकालय क्यों आयात कर रहे हैं। कोई नियमित अभिव्यक्ति नहीं है? urllib के लिए अनुरोध नहीं था bs4 या mech जो तीसरे पक्ष हैं? मानक पुस्तकालयों के साथ करने के लिए html को पार्स करें और स्ट्रिंग से मिलान करें, फिर '>''<' को फिर से या whateves के साथ विभाजित करें।

N=(len(html)) 
for a in html(N): 
    if '<title>' in a: 
     Title=(str(a)) 

thats अजगर 2 मुझे लगता है, आप पट्टी कर सकते हैं यह

+0

प्यार जवाब। यह मेरा सवाल बिल्कुल सही था, आप एक आमंत्रण के लिए एक और दूसरी निर्भरता क्यों जोड़ देंगे। आपके ज्ञान के लिए धन्यवाद :) – raTM

संबंधित मुद्दे