Skip to content

usuallyarnav/7CupsForumUsingGraphAnalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

7 Cups Forum — Graph & NLP Analysis

Research project application (Prof. Yayati): scrape a small sample of public 7 Cups forum data, model a conversation as a graph, and explore it with graph / NLP methods. This was done to percieve our skillsets and analyse our approaches to problem solving

Team

  • Arnav Kothari — SE25UCSE014 — usuallyarnav
  • Advik Prasad — SE25UARI118 — LeafyChan
  • Anvitha Reddy — SE25UDSC041 — anvi-ar
  • TVNS SaiCharan — SE25UCSE071 — thesungod07

Status

  • Platform recon — posts are server-rendered in raw HTML
  • Scraper built and validated (webscraper.py)
  • Sample scraped — 1 penpals thread, 111 posts, reply depth 23
  • Interactive reply-tree viewer (viz/)
  • Multi-thread scrape (for a richer user network)
  • Report (docs/)
  • NLP / emotion pass (optional strengthener)

Repo structure

webscraper.py      fetch (saved file / requests / Selenium) + parse -> posts.json
requirements.txt   Python dependencies
viz/               interactive reply-tree viewer  (commit ANONYMIZED builds only)
docs/              report and notes
data/              scraped data  (raw pages + real-name data are gitignored)

Setup

pip3 install -r requirements.txt
# Selenium mode also needs Google Chrome installed.

Run

Parse a page you've already saved:

python3 webscraper.py thread.html

Fetch live with a real browser (clears the Cloudflare check), then parse:

python3 webscraper.py --selenium "https://www.7cups.com/forum/<community>/<Sub_ID>/<Thread_ID>/"

Output is posts.json — graph-ready: each node is a post, edges come from parent_post_id (built from the ?post= link in each reply footer). For multi-page threads, set MAX_PAGES near the top of webscraper.py.

Data & Ethics

This project analyses publicly visible posts from a mental-health support platform. That makes the data sensitive regardless of its public visibility, so:

  • No scraped content is committed to this repository — raw pages and parsed posts.json are gitignored. This repo contains code only.
  • Analysis is limited to graph topology and aggregate structure. The data is not used to profile or re-identify individuals.
  • Anyone reproducing this should run the scraper against their own fetch and keep the output local.

Workflow

  • git pull before you start; commit small, push often.
  • Track tasks with Issues and the Projects board.
  • Keep the live report draft wherever co-editing is easiest, then export the final into docs/.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages