<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Satya Sirisha Bolloju on Medium]]></title>
        <description><![CDATA[Stories by Satya Sirisha Bolloju on Medium]]></description>
        <link>https://medium.com/@satyasirishabolloju?source=rss-2068147b995e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*KiYtF3HJHYfLnfbXd5akRw.jpeg</url>
            <title>Stories by Satya Sirisha Bolloju on Medium</title>
            <link>https://medium.com/@satyasirishabolloju?source=rss-2068147b995e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 19 May 2026 12:10:29 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@satyasirishabolloju/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Web Scraping Wikipedia Using Python and Selenium]]></title>
            <link>https://medium.com/@satyasirishabolloju/web-scraping-wikipedia-using-python-and-selenium-09df875b2bbd?source=rss-2068147b995e------2</link>
            <guid isPermaLink="false">https://medium.com/p/09df875b2bbd</guid>
            <category><![CDATA[begginer]]></category>
            <category><![CDATA[web-scraping]]></category>
            <category><![CDATA[selenium]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[python]]></category>
            <dc:creator><![CDATA[Satya Sirisha Bolloju]]></dc:creator>
            <pubDate>Fri, 30 May 2025 12:36:04 GMT</pubDate>
            <atom:updated>2025-05-30T12:36:04.608Z</atom:updated>
            <content:encoded><![CDATA[<h3>🔍 Why I Built This Project</h3><blockquote><em>As part of my coursework in MSc Data Science, we were introduced to </em><strong><em>web scraping using Selenium</em></strong><em>. I wanted to go beyond static scraping and understand how automated browsers can interact with dynamic web pages — like clicking, navigating, and reading real data.</em></blockquote><blockquote><em>So I built a script that uses </em><strong><em>Selenium WebDriver</em></strong><em> to scrape structured content from </em><a href="https://www.wikipedia.org/"><em>[Wikipedia]</em></a><em>, using real-time interactions.</em></blockquote><p>— -</p><h3>🚀 What This Project Does</h3><pre>- Launches Chrome using Selenium<br>- Visits a Wikipedia page<br>- Locates elements using:<br> - ID<br> - Class name<br> - Tag name<br> - Link text<br> - CSS selector<br>- Clicks links and navigates pages<br>- Extracts paragraphs and prints structured content</pre><p>— -</p><h3>🧠 Technologies Used</h3><pre><br>| Tool             | Purpose                          |<br>|------------------|----------------------------------|<br>| Python           | Core scripting                   |<br>| Selenium         | Web browser automation           |<br>| webdriver-manager| Simplified driver installation   |</pre><h3>🛠 Code Highlights</h3><pre><br>driver.find_element(By.ID, “mp-welcome”)<br>driver.find_element(By.CLASS_NAME, “vector-search-box-input”)<br>driver.find_element(By.TAG_NAME, “p”)<br>driver.find_element(By.LINK_TEXT, “Wikibooks”)<br>driver.find_element(By.CSS_SELECTOR, “#p-logo a”)</pre><p>These five methods cover the most common ways of navigating the DOM and are fundamental for automating dynamic sites.</p><h3>📚 Educational Context</h3><blockquote><em>This project was part of a college module titled:<br> </em><strong><em>“Web Scraping Using Selenium in Python”</em></strong><em>, taught at Symbiosis School of Online and Distance Learning.</em></blockquote><blockquote><em>It was inspired by this GitHub repo:<br> 🔗 </em><a href="https://github.com/naru94/Web-Scraping-Using-Selenium-in-Python"><em>naru94/Web-Scraping-Using-Selenium-in-Python</em></a></blockquote><blockquote><em>I extended it with added logging, documentation, and portability.</em></blockquote><h3>💼 Real-World Applications</h3><p>While this project was academic in origin, the same techniques are used in:</p><ul><li>Automating repetitive web tasks (form-fills, click-throughs)</li><li>Collecting dynamic data from dashboards or portals</li><li>Building bots for research or alerts</li></ul><h3>🔗 GitHub Repository</h3><p>View the full code, requirements, and setup guide:<br> 👉 <a href="https://github.com/SatyaSirishaBolloju/selenium-wikipedia-scraper">github.com</a></p><h3>👨‍💻 About Me</h3><p>I’m currently a Data Analyst at Sheetal Manufacturing Co.<br> Pursuing my MSc in Data Science from Symbiosis.<br> I specialize in automating real-world workflows using Python, Excel, APIs, and dashboards.</p><p>🔗 <a href="https://www.linkedin.com/in/satya-sirisha-bolloju-031b33239/">LinkedIn</a></p><h3>🙌 Let’s Collaborate</h3><p>Have feedback or want to extend this scraper into something bigger?<br> Fork the repo or comment below — I’d love to hear your ideas!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=09df875b2bbd" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Automating Excel Data Comparison with Streamlit and Python]]></title>
            <link>https://medium.com/@satyasirishabolloju/automating-excel-data-comparison-with-streamlit-and-python-a06014935001?source=rss-2068147b995e------2</link>
            <guid isPermaLink="false">https://medium.com/p/a06014935001</guid>
            <category><![CDATA[excel]]></category>
            <category><![CDATA[data-analysis]]></category>
            <category><![CDATA[streamlit]]></category>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[python]]></category>
            <dc:creator><![CDATA[Satya Sirisha Bolloju]]></dc:creator>
            <pubDate>Fri, 30 May 2025 06:18:12 GMT</pubDate>
            <atom:updated>2025-05-30T06:18:12.842Z</atom:updated>
            <content:encoded><![CDATA[<h3>💡 The Real-World Problem</h3><blockquote><em>Comparing diamond or inventory data row by row across Excel files is a slow, manual process. Each row might require checking the right reference sheet, finding the correct block, applying formulas, and highlighting differences — all by hand.</em></blockquote><blockquote><em>Our internal analysis team needed a faster solution.</em></blockquote><p>— -</p><h3>✅ The Solution</h3><p>I built a Streamlit-based web tool that automates this:</p><blockquote><em>Upload two Excel files:<br> — A </em><strong><em>base file</em></strong><em> with rows needing comparison<br> — A</em><strong><em> source file</em></strong><em> with multiple sheets of reference blocks</em></blockquote><blockquote><em>The app:<br> — Fuzzy matches the correct sheet name for each row<br> — Finds the matching “weight group”<br> — Extracts a 12x8 data block<br> — Pastes it into the base file<br> — Applies formulas and red/green formatting to highlight differences</em></blockquote><blockquote><em>Finally, it lets you download the fully updated Excel file.</em></blockquote><p>— -</p><h3>🧰 Tech Stack</h3><pre>| Tool         | Purpose                      |<br>|--------------|------------------------------|<br>| Python       | Core logic                   |<br>| Streamlit    | Web interface                |<br>| openpyxl     | Excel read/write + formatting|<br>| fuzzywuzzy   | Sheet name matching          |</pre><p>— -</p><h3>📊 What It Automates</h3><blockquote><em>- Sheet-to-sheet fuzzy matching <br>- Cell-by-cell comparison formulas <br>- Block-level copy-paste <br>- Excel styling and color formatting <br>- Streamlit-powered UI with instant download</em></blockquote><p>— -</p><h3>📂 Excel Format (Input)</h3><p>The base Excel file expects:</p><pre>| B (Shape) | F (Weight Group) | M (Sheet Name) | … | N to W (Output Block) |<br>|-----------|------------------|----------------|---|------------------------|</pre><p>Each row gets its matching block pasted and processed visually.</p><p>— -</p><h3>📦 Output</h3><blockquote><em>The final Excel file contains:<br>- Pasted data blocks (12x8)<br>- Green cells = improvement<br>- Red cells = drop in value<br>- Formulas to calculate differences</em></blockquote><p>— -</p><h3>🔗 GitHub Project</h3><p>View full code and install guide: <br>👉 [<a href="https://github.com/SatyaSirishaBolloju/streamlit-excel-comparator">github.com/yourusername/streamlit-excel-comparator</a></p><p>— -</p><h3>📈 Business Impact</h3><blockquote><em>- ✅ Saves hours of cross-sheet copy-pasting<br>- ✅ Ensures consistency and transparency in comparisons<br>- ✅ Empowers analysts with an easy-to-use tool</em></blockquote><p>— -</p><h3>🔚 Call to Action (unchanged, still great):</h3><blockquote><em>Found this useful or want to collaborate on similar tools?<br> Let’s connect on</em><a href="http://www.linkedin.com/in/satya-sirisha-bolloju-031b33239"><em> LinkedIn</em></a><em> or fork the repo on </em><a href="https://github.com/SatyaSirishaBolloju"><em>GitHub</em></a><em>.</em></blockquote><p>— -</p><h3>🙌 Want to Collaborate?</h3><blockquote><em>Fork the repo, comment below, or share how you’d improve this. I’d love to connect!</em></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a06014935001" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Automating Market Price Fetching for Diamonds Using Python and Excel]]></title>
            <link>https://medium.com/@satyasirishabolloju/automating-market-price-fetching-for-diamonds-using-python-and-excel-44bfbe5cd403?source=rss-2068147b995e------2</link>
            <guid isPermaLink="false">https://medium.com/p/44bfbe5cd403</guid>
            <category><![CDATA[openpyxl]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[graphql]]></category>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[api]]></category>
            <dc:creator><![CDATA[Satya Sirisha Bolloju]]></dc:creator>
            <pubDate>Wed, 21 May 2025 11:33:11 GMT</pubDate>
            <atom:updated>2025-05-21T11:36:03.114Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>The Problem</strong></h3><blockquote><em>As a diamond company, we often need to compare our internal inventory prices with live market listings. Doing this manually — row by row — on platforms like Nivoda is not only time-consuming but error-prone.</em></blockquote><blockquote><em>I needed a solution that could automatically:<br>- Read our internal diamond inventory (Excel)<br>- Search for each item on [Nivoda](https://www.nivoda.com/)<br>- Pull the best price and price/ct<br>- Write it all back to Excel for team analysis</em></blockquote><p>— -</p><h3>🛠️ The Solution: Python Automation</h3><blockquote><em>I created a simple but powerful Python tool that does exactly this:</em></blockquote><blockquote><em>- Reads diamonds from Excel (shape, weight, color, clarity)<br>- Sends a GraphQL request to the Nivoda API<br>- Fetches best price &amp; price/ct for each entry<br>- Writes it directly into the same Excel sheet</em></blockquote><blockquote><em>This replaced hours of tedious searching with a one-click solution.</em></blockquote><p>— -</p><h3>⚙️ Tech Stack</h3><pre>|   Tool   |      Purpose                |<br>| -------- | --------------------------- |<br>| Python   | Core scripting logic        |<br>| requests | API communication           |<br>| openpyxl | Excel read/write automation |<br>| GraphQL  | Query format used by Nivoda |</pre><p>— -</p><h3>📂 Excel Format</h3><p>Your sheet should look like this:</p><pre>| B (Shape) | D (Weight) | E (Color) | F (Clarity) | ... | N (Price/ct) | O (Total Price) |<br>|-----------|------------|-----------|-------------|-----|---------------|------------------|</pre><p>Each row is processed, searched via API, and updated.</p><p>— -</p><h3>🔗 GitHub Repo</h3><p>You can view the full project here: <br>👉 [<a href="https://github.com/SatyaSirishaBolloju/nivoda-price-fetcher">nivoda-excel-fetcher</a>]</p><p>— -</p><h3>📈 Business Impact</h3><p>- ✅ Saves ~90% of the time previously spent on manual search<br>- ✅ Enables instant price comparisons between inventory and market<br>- ✅ Boosts accuracy and efficiency in procurement decisions</p><p>— -</p><h3>Let’s connect:</h3><p>🔗 [<a href="http://www.linkedin.com/in/satya-sirisha-bolloju-031b33239">LinkedIn</a>] | [<a href="https://github.com/SatyaSirishaBolloju">GitHub</a>]</p><p>— -</p><h3>🙌 Let’s Collaborate</h3><p>If you liked this post or have suggestions, drop a comment or fork the repo!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=44bfbe5cd403" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How I Automated Diamond Data Extraction from RapNet Using Python and Excel]]></title>
            <link>https://medium.com/@satyasirishabolloju/how-i-automated-diamond-data-extraction-from-rapnet-using-python-and-excel-9d57754ffc7e?source=rss-2068147b995e------2</link>
            <guid isPermaLink="false">https://medium.com/p/9d57754ffc7e</guid>
            <category><![CDATA[data-engineering]]></category>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[api]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Satya Sirisha Bolloju]]></dc:creator>
            <pubDate>Wed, 23 Apr 2025 17:05:46 GMT</pubDate>
            <atom:updated>2025-04-23T17:05:46.111Z</atom:updated>
            <content:encoded><![CDATA[<blockquote><em>In high-volume data environments, manual processes are bottlenecks. As a Data Analyst, I saw this first-hand while helping my team analyze diamond listings on RapNet. Every search was manual, repetitive, and time-consuming.</em></blockquote><blockquote><em>So I built a Python-based automation that connected to the RapNet API, pulled filtered data, and exported dynamic Excel files — all with a single run.</em></blockquote><h3>The Challenge I Faced</h3><blockquote><em>We were spending hours manually applying filters like shape, size, clarity, and color across RapNet’s dashboard. Copying and cleaning this data slowed down decision-making — and made it hard to scale.</em></blockquote><pre>### 🧠 Key Python Concepts Used<br>- **API authentication** with secure token handling<br>- **POST requests** and custom headers with `requests`<br>- **JSON parsing** and nested data extraction<br>- **Dynamic Excel file creation** using `pandas` and `openpyxl`<br>- **Config-driven architecture** with `.txt` and `.json` templates</pre><h3>📈 Real-World Results</h3><ul><li>Reduced hours of repetitive manual work</li><li>Delivered clean, consistent Excel outputs for every saved search</li><li>Tool is now reusable and adaptable across new diamond filters or teams</li><li>You can find the full code and setup guide here: <a href="https://github.com/SatyaSirishaBolloju/rapnet-diamond-exporter">GitHub Repo</a></li></ul><h3>🚀 What’s Next?</h3><blockquote><em>I’m extending this automation into:</em></blockquote><ul><li>A <strong>Streamlit dashboard</strong> for live search interaction</li><li>Future integration with <strong>Google Sheets API</strong> for cloud collaboration</li></ul><h3>🔚 Call to Action (unchanged, still great):</h3><blockquote><em>Found this useful or want to collaborate on similar tools?<br> Let’s connect on</em><a href="http://www.linkedin.com/in/satya-sirisha-bolloju-031b33239"><em> LinkedIn</em></a><em> or fork the repo on </em><a href="https://github.com/SatyaSirishaBolloju"><em>GitHub</em></a><em>.</em></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9d57754ffc7e" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>