문제

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.

도움이 되었습니까?

해결책

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.

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top