2016-10-08 7 views
2

私はこのサイトを掻き集め、2つの別々のタグを取得しようとしています。これはhtmlのように見えます。Python 3美しいスープ結腸のタグを見つける

<url> 
    <loc> 
    http://link.com 
    </loc> 
    <lastmod>date</lastmode> 
    <changefreq>daily</changefreq> 
    <image:image> 
    <image:loc> 
    https://imagelink.com 
    <image:loc> 
    <image:title>Item title</image:title> 
    <image:image> 
</url> 

私が得ようとしているタグは、locとimage:titleです。私が抱えている問題は、タイトルタグのコロンです。 (私はこれまでのところ、私もちょうど

print(item.title) 

を行うことを試みている

r = requests.get(url) 
soup = BeautifulSoup(r.content, 'html.parser') 

for item in soup.find_all('url'): 
    print(item.loc) 
    #print image title 

ありましたが、それは

+0

これはxmlがhtmlではなく、名前空間が2つではない1つのノードです。あなたはどこから手に入れていますか? –

答えて

1

を動作しません。あなたが代わりに"xml" modeでそれを解析する必要がありコードがあることをlxmlが必要です同様)がインストール:

from bs4 import BeautifulSoup 

data = """ 
<url> 
    <loc> 
    http://link.com 
    </loc> 
    <lastmod>date</lastmod> 
    <changefreq>daily</changefreq> 
    <image:image> 
    <image:loc> 
    https://imagelink.com 
    </image:loc> 
    <image:title>Item title</image:title> 
    </image:image> 
</url>""" 

soup = BeautifulSoup(data, 'xml') 

for item in soup.find_all('url'): 
    print(item.title.get_text()) 

プリントItem title

私はXML文字列にいくつかの修正を適用しましたが、これは最初は井戸が形成されていないためです。

関連する問題