BeautifulSoup webscraping ...获取文本

时间:2013-12-10 06:15:43

标签: python python-2.7 web-scraping beautifulsoup

我正在尝试提取

<a href="/reviews/28th-and-b-st-skatepark/">

    28th & B St Skatepark       #This is what I'm trying to grab, just the text.

</a>

使用我的代码

import urllib2
from bs4 import BeautifulSoup

url1 = "http://www.thrashermagazine.com/skateparks/search-results_m94/?cat=61&jr_state=CA&order=alpha&query=all"
content1 = urllib2.urlopen(url1).read()
soup = BeautifulSoup(content1)
print soup.findAll('a')

我得到这样的回报。

</a>, <a href="http://www.thrashermagazine.com/"><img alt="Thrasher Magazine Logo" src="/templates/HomePage/images/templatesImages/Header_logo.jpg" style="border:0px;"/></a>, <a href="javascript:void();" onclick="secondFunction();">Log in</a>, <a href="/Register/">Register</a>, <a href="http://www.thrashermagazine.com/"><span>Home</span></a>, <a href="http://shop.thrashermagazine.com"><span>Store</span></a>, <a href="/component/option,com_hwdvideoshare/Itemid,93/"><span>Thrasher Skateboard Magazine | Videos</span></a>, <a href="/tags/features/"><span>Features</span></a>, <a href="/component/option,com_jevents/Itemid,100/task,week.listevents/"><span>Thrasher Skateboard Magazine | Events</span></a>,

我理解这正是我要求我的脚本执行的操作,但我想知道是否有办法获取我指出的文本而不是与标记相关的所有内容。

1 个答案:

答案 0 :(得分:2)

使用.text属性。 e.g:

import urllib2
from BeautifulSoup import BeautifulSoup

url1 = "http://www.thrashermagazine.com/skateparks/search-results_m94/?cat=61&jr_state=CA&order=alpha&query=all"
content1 = urllib2.urlopen(url1).read()
soup = BeautifulSoup(content1)
print [e.text for e in soup.findAll('a')]