2017-01-24 17 views
0

Ich versuche, den Titel aus einem Bild zu extrahieren. Ich habe es geschafft, die url zu extrahieren, aber nicht sicher, wie die Extraktion des Titels des Bildes zu kodieren ist.Python BeautifulSoup Extrahieren von Titile Web Crawler

Code:

import requests 
from bs4 import BeautifulSoup 

def trade_spider(max_pages): 
    page = 1 
    while page <= max_pages: 
     url = 'http://www.gurstree.com.au/s—cars—vans—utes/melbourne/page—' + str(page) + '/c1832013001317' 
     source_code = requests.get(url) 
     plain_text = source_code.text 
     soup = BeautifulSoup(plain_text) 
     for link in soup.findAll('a', {'class': 'ad—listing_title—link'}): 
      href = 'http://www.gumtree.com.au/' + link.get('href') 
      print(href) 
     page += 1 

trade_spider(1) 

The HTML is:

<a itemprop="url" class="ad-listing__thumb-link" name="1124692138" href="/s-ad/derrimut/cars-vans-utes/2015-toyota-86-coupe-12-month-warranty-/1124692138" data-ref="searchTopAd"> 
    <span id="r-image-TOP_AD-1124692138" title="2015 Toyota 86 Coupe **12 MONTH WARRANTY** Derrimut Brimbank Area Preview" class="j-responsive-image ad-listing__thumb" data-index="1">...</span> 
</a> 

Die erste Zeile ist die href aber ich möchte, markiert die title gemäß dem span Block von HTML zu bekommen.

Danke!

+2

Code schreiben, anstatt Bild –

+0

kann u url hier hinzufügen? schwer zu bekommen von code image –

Antwort

0
link.span.get('title') 

Verwendung . zum nächsten span zu finden und bekommen title

Verwendung regex Zeichenfolge im addribute zum Spiel:

import re  
soup.find('span', id=re.compile(r'r-image')) 
+0

Ok ich schaffte es mit link.get ('title') zu arbeiten. Wenn ich die 'id' Referenz und 'r-image-TOP_AD-1124692138' verwenden möchte, wie kann ich das verwenden, wenn die Zahlen am Ende von 'Top_AD' für jeden Beitrag geändert werden? – Chris

+0

Super danke! – Chris

Verwandte Themen