从段美丽的汤中获取内容(全文)

时间:2014-09-09 19:17:35

标签: python beautifulsoup

我想从新闻网页中提取段落的内容(文本全部),我有一组url,它应该只提取段落的内容。当我使用下面的代码时,它给了我整个HTML页面 这是我的代码

import urllib2
import urllib
from cookielib import CookieJar
from bs4 import BeautifulSoup
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
p = opener.open("http://www.nytimes.com/2014/09/09/world/europe/turkey-is-courted-by-us-to-help-         fight-isis.html?module=Search&mabReward=relbias%3Aw%2C%7B%222%22%3A%22RI%3A18%22%7D&_r=0")
print p.read()
soup = BeautifulSoup(p)
content = soup.find('p', attrs= {'class' : 'story-body-text story-content'})
print content

1 个答案:

答案 0 :(得分:2)

这是因为你有print p.read()行打印出整个HTML页面。

要获取文章文本,请按id找到它,然后找到文章中的所有段落。

使用CSS Selector的示例:

soup = BeautifulSoup(p)
print ''.join(p.text for p in soup.select('article#story p.story-content'))

打印:

ANKARA, Turkey —  The Obama administration on Monday began the work of trying to determine
...

仅供参考,article#story p.story-content会匹配p标记中story-contentarticlestory个标记{。}}