Matt
Matt

Reputation: 3557

BeautifulSoup webscraping...getting just the text

I'm trying to extract

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

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

</a>

With my code

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')

I get something like this in return.

</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>,

I understand that that's exactly what I'm asking my script to do, but I want to know if there's a way to get just the text that I've indicated rather than everything associated with the tag.

Upvotes: 1

Views: 284

Answers (1)

James Mills
James Mills

Reputation: 19030

Use the .text attribute. 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')]

Upvotes: 2

Related Questions