CantonGuisado
Honorary Poster
- Joined
- Feb 15, 2019
- Posts
- 298
- Reaction
- 92
- Points
- 146
Generate a code that search for latest recent post on facebook based on keywords or query. the results will be generated as an rss or atom file
feedgen
library.import requests
from feedgen.feed import FeedGenerator
import datetime
def generate_facebook_rss_feed(query, access_token):
base_url = "https://graph.facebook.com/v15.0/"
search_endpoint = "search"
# Create RSS feed
fg = FeedGenerator()
fg.title('Facebook Recent Posts')
fg.link(href='https://www.facebook.com', rel='alternate')
fg.description('Recent posts from Facebook based on query: ' + query)
# Format the current date and time
current_time = datetime.datetime.now().strftime("%a, %d %b %Y %H:%M:%S %Z")
# Prepare API request parameters
params = {
'q': query,
'type': 'post',
'access_token': access_token
}
# Send the API request
response = requests.get(base_url + search_endpoint, params=params)
data = response.json()
# Parse the response and add entries to the RSS feed
for post in data['data']:
entry = fg.add_entry()
entry.title(post['message'] if 'message' in post else '')
entry.link(href=post['permalink_url'])
entry.description(post['message'] if 'message' in post else '')
entry.pubDate(datetime.datetime.now())
# Generate the RSS feed XML
rss_feed = fg.rss_str(pretty=True)
# Save the RSS feed to a file
with open('facebook_recent_posts.xml', 'w') as f:
f.write(rss_feed)
print("RSS feed generated successfully!")
# Specify your query and access token
query = 'programming'
access_token = 'YOUR_ACCESS_TOKEN'
# Generate the RSS feed
generate_facebook_rss_feed(query, access_token)
'YOUR_ACCESS_TOKEN'
with your actual Facebook Graph API access token. This code uses the feedgen
library to generate the RSS feed. You can install it using pip install feedgen
.user_posts
permission to search for public posts.