Question

Hi I have a list of Facebook Page urls

eg...
http://www.facebook.com/daftpunk
http://www.facebook.com/DavidGuetta
...

What's the best way to:

  • Check if these urls are actually for Facebook Pages and not Profiles

  • Collect details such as # of fans from these Pages

Help would be very much appreciated.

Was it helpful?

Solution

Without scraping any content (which is against Facebook's terms of service anyway):

  1. Extract the username part of the URL i.e. the bit after the www.facebook.com/
  2. Do an FQL query of the form select fan_count from page where username='michaeljackson'
  3. If a result is return, you know it's a Page and not a user's profile.

See the Page FQL table for other data you can retrieve in the same call.

OTHER TIPS

use urllib2 or pyfacebook to fetch the content

use BeautifulSoup or lxml to parse it

use the re module (regular expressions) to extract content for your verification and data gathering

The # of fans is in an a tag with the class 'FanManager'. you can use Beautiful Soup to get the contents of this a tag, and regular expressions to get the data from the string (ex: 1,000,000 fans) as an int or whatever you would like.

To see if the page exists, check some of the tags to see if you are on the 404 page.

You can use scrapy or BeautifulSoup to scrape the content.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top