Search code examples
jsonfeedrapidapi

A python client to ContextualWeb News API using RapidAPI


I am trying to consume ContextualWeb News API. The endpoint is described here:

https://rapidapi.com/contextualwebsearch/api/web-search

Here is the request snippet in Python as described in RapidAPI:

response = unirest.get("https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/NewsSearchAPI?autoCorrect=true&pageNumber=1&pageSize=10&q=Taylor+Swift&safeSearch=false",
  headers={
    "X-RapidAPI-Host": "contextualwebsearch-websearch-v1.p.rapidapi.com",
    "X-RapidAPI-Key": "XXXXXX"
  }
)

How do I send the request and parse the response? Can you provide a complete code example for the News API?


Solution

  • use the python version 3.X for below code.Below is the complete example example where I am passing string Taylor Swift and parsing response...Let me know if you stuck anywhere

    import requests  # install from: http://docs.python-requests.org/en/master/
    
    # Replace the following string value with your valid X-RapidAPI-Key.
    Your_X_RapidAPI_Key = "XXXXXXXXXXXXXXXXXXX";
    
    # The query parameters: (update according to your search query)
    q = "Taylor%20Swift"  # the search query
    pageNumber = 1  # the number of requested page
    pageSize = 10  # the size of a page
    autoCorrect = True  # autoCorrectspelling
    safeSearch = False  # filter results for adult content
    
    response = requests.get(
        "https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/NewsSearchAPI?q={}&pageNumber={}&pageSize={}&autocorrect={}&safeSearch={}".format(
            q, pageNumber, pageSize, autoCorrect, safeSearch),
        headers={
            "X-RapidAPI-Key": Your_X_RapidAPI_Key
        }
    ).json()
    
    # Get the numer of items returned
    totalCount = response["totalCount"];
    
    # Get the list of most frequent searches related to the input search query
    relatedSearch = response["relatedSearch"]
    
    # Go over each resulting item
    for webPage in response["value"]:
        # Get the web page metadata
        url = webPage["url"]
        title = webPage["title"]
        description = webPage["description"]
        keywords = webPage["keywords"]
        provider = webPage["provider"]["name"]
        datePublished = webPage["datePublished"]
    
        # Get the web page image (if exists)
        imageUrl = webPage["image"]["url"]
        imageHeight = webPage["image"]["height"]
        imageWidth = webPage["image"]["width"]
    
        thumbnail = webPage["image"]["thumbnail"]
        thumbnailHeight = webPage["image"]["thumbna`enter code here`ilHeight"]
    
    # An example: Output the webpage url, title and published date:
    print("Url: %s. Title: %s. Published Date:%s." % (url, title, datePublished))