<div id="browse_in_widget">
<span id="browse_in_breadcrumb" style="width: 583px;">
<div class="seo_itemscope" itemtype="http://data-vocabulary.org/Breadcrumb" itemscope="">
<a itemprop="url" href="/search/"> Arabian Area</a>
<span class="seo_itemprop-title" itemprop="title">Arabian Area</span>
>
</div>
<div class="seo_itemscope" itemtype="http://data-vocabulary.org/Breadcrumb" itemscope="">
<a itemprop="url" href="/property-for-rent/home/"> Phase 2 </a>
<span class="seo_itemprop-title" itemprop="title">Phase 2 </span>
>
</div>
<div class="seo_itemscope" itemtype="http://data-vocabulary.org/Breadcrumb" itemscope="">
<a itemprop="url" href="/property-for-rent/residential/"> Residential Units for Rent </a>
<span class="seo_itemprop-title" itemprop="title">Residential Units for Rent</span>
>
</div>
<div class="seo_itemscope" itemtype="http://data-vocabulary.org/Breadcrumb" itemscope="">
<a itemprop="url" href="/property-for-rent/residential/apartmentflat/"> Apartment/Flat for Rent </a>
<span class="seo_itemprop-title" itemprop="title">Apartment/Flat for Rent</span>
>
</div>
<strong class="seo_itemprop-title" itemprop="title">Details</strong>
</span>
</div>

मैं पाना चाहता हूं

['Arabian Area', 'Phase 2', 'Residential Units for Rent','Apartment/Flat for Rent']

मैं सुंदर 4 अजगर का उपयोग करके निम्नलिखित कोड का उपयोग करने की कोशिश कर रहा हूं:

try:

        Type = [str(Area.text) for Area in soup.find_all("span", {"class" : "seo_itemscope"})]

        Area=' , '.join(Area)
        print Area


    except StandardError as e:
        Area="Error was {0}".format(e)
        print Area

मैं केवल एक सूची में वांछित आउटपुट प्राप्त करना चाहता हूं लेकिन कुछ समस्या प्रतीत होती है। मुझे कोई प्रिंट नहीं मिल रहा है। क्या समस्या हो सकती है?

शुक्रिया!

0
Joanne 29 जून 2016, 18:12

1 उत्तर

सबसे बढ़िया उत्तर

पहली समस्या यह है कि आप span ऐसे तत्वों की तलाश कर रहे हैं जिनमें seo_itemscope वर्ग मौजूद नहीं है। यदि आप शीर्षक खोज रहे हैं तो seo_itemprop-title का प्रयोग करें:

Type = [item.get_text() for item in soup.find_all("span", {"class": "seo_itemprop-title"})]

दूसरी समस्या यहाँ है:

Area=' , '.join(Area)

आप इसके बजाय Type सूची के आइटम में शामिल होना चाहते थे:

Area = ' , '.join(Type)

और, StandardError को पकड़ना एक अच्छा विचार नहीं है - यह एक अपवाद के लिए बहुत व्यापक है और वास्तव में एक नंगे except क्लॉज होने के करीब है। आपको अधिक विशिष्ट अपवादों को पकड़ना चाहिए, देखें:

1
Community 23 मई 2017, 15:32
धन्यवाद। क्या होगा यदि मैं सूची में केवल चौथा तत्व प्राप्त करना चाहता हूं? यानी अपार्टमेंट/फ्लैट किराए के लिए और पिछले तीन को अनदेखा करें? पायथन इसे अनुमति देता है?
 – 
Joanne
29 जून 2016, 19:17
ज़रूर, क्या आपका मतलब soup.find_all("span", {"class": "seo_itemprop-title"})[3].get_text() है?
 – 
alecxe
29 जून 2016, 19:25
हे, जोआन - क्या इस विशेष विषय में मैं कुछ और मदद कर सकता हूं? यदि नहीं, तो कृपया थ्रेड को हल करने के लिए उत्तर को स्वीकृत के रूप में चिह्नित करने पर विचार करें। धन्यवाद।
 – 
alecxe
29 जून 2016, 20:16