2017-04-20 21 views
1

BeautifulSoupを使用して記事から画像のURLと画像のキャプションを抽出しようとしています。記事の画像のURLと画像のキャプションを前と後のHTMLから分けることができますが、これらの2つをhtmlタグから分離する方法はわかりません。ここに私のコードです:BeautifulSoupを使用して画像のキャプションと画像のURLを抽出する

from bs4 import BeautifulSoup 
import requests 
url = 'http://www.prnewswire.com/news-releases/dutch-philosopher- 
koert-van-mensvoort-founder-of-the-next-nature-network-writes-a- 
letter-to-humanity-619925063.html' 
r = requests.get(url) 
html = r.text 
soup = BeautifulSoup(html, 'lxml') 
links = soup.find_all('div', {'class': 'image'}) 

私が抽出しようとしている2つのセクションは、src =とtitle =セクションです。これら2つの構文解析をどのように達成するかについてのアイディアは高く評価されます。

答えて

1
from bs4 import BeautifulSoup 
import requests 
url = 'http://www.prnewswire.com/news-releases/dutch-philosopher-koert-van-mensvoort-founder-of-the-next-nature-network-writes-a-letter-to-humanity-619925063.html' 
r = requests.get(url) 
html = r.text 
soup = BeautifulSoup(html, 'lxml') 
links = soup.find_all('div', {'class': 'image'}) 
print [i.find('img')['src'] for i in links] 
print [i.find('img')['title'] for i in links] 
+0

@Billあなたの問題を解決した場合。回答 –

+0

を受け入れてください。これは完全に機能しました。どうもありがとうございました。 –

+0

正しいマークアップは 'html5lib'で' lxml'ではなく 'xml'のために使われます –

0

img = soup.findAll('img') 
#depending on how many images are here you will probably need to loop through img 
src = img.get('src') 
title = img.get('title') 
0

後期答えすべての画像タグを抽出するために、以下のことをしようとしますが、使用することができます。

from bs4 import BeautifulSoup 
import requests 
url = 'http://www.prnewswire.com/news-releases/dutch-philosopher-koert-van-mensvoort-founder-of-the-next-nature-network-writes-a-letter-to-humanity-619925063.html' 
r = requests.get(url) 
html = r.text 
soup = BeautifulSoup(html, "html5lib") 
links = soup.find_all('div', {'class': 'image'}) 
if links: 
    print(links[0].find('img')['src']) 
    print(links[0].find('img')['title']) 

出力:

http://mma.prnewswire.com/media/491859/Koert_van_Mensvoort.jpg?w=950

オランダの哲学者コアート・バン・メンズボート - 次ネイチャー ネットワークと アイントホーフェン工科大学で、「次へ自然のフェローの創設者は - 国際アースデイを支援する「人類への手紙」を書いています。 (PRNewsfoto /次のネイチャーネットワーク)

関連する問題