Akshayram1's picture
Create app.py
36be85e verified
import streamlit as st
import requests
# Set up API constants
API_KEY = "YOUR_GOOGLE_FACT_CHECK_API_KEY" # Replace with your Google API key
API_URL = "https://factchecktools.googleapis.com/v1alpha1/claims:search"
# Define a function to get fact-checked data based on the claim
def fact_check_claim(claim):
params = {
"query": claim,
"key": API_KEY
}
# Request to Google Fact Check Tools API
response = requests.get(API_URL, params=params)
# Check for errors
if response.status_code == 200:
return response.json() # Parsed JSON response if successful
else:
st.error("Error: Could not retrieve data. Please try again.")
return None
# Streamlit UI setup
st.title("Fact Checker for YouTube Video Claims")
st.write("Enter a claim from a YouTube video to verify with Google Fact Check Tools API.")
# Input form for claim text
claim_text = st.text_input("Claim Text", placeholder="Enter claim text here")
if st.button("Check Claim"):
if claim_text:
# Call fact-checking function
fact_data = fact_check_claim(claim_text)
# Display results if successful
if fact_data and "claims" in fact_data:
st.success("Fact-Check Results:")
for item in fact_data["claims"]:
st.write(f"**Claim:** {item['text']}")
st.write(f"**Claimed By:** {item.get('claimant', 'Unknown')}")
st.write(f"**Claim Date:** {item.get('claimDate', 'Unknown')}")
for review in item.get("claimReview", []):
st.write(f"**Publisher:** {review['publisher']['name']}")
st.write(f"**Title:** {review['title']}")
st.write(f"**URL:** {review['url']}")
st.write(f"**Review Rating:** {review.get('textualRating', 'No rating')}")
st.write("---")
else:
st.warning("No fact-checking information found for this claim.")
else:
st.warning("Please enter a claim to check.")