This is how I want it to work.

  1. First day. It goes to all questions that are asked within last 14 days.
  2. It picks each question. Then it RANDOMLY picks 25 users and clicks on "+" to request.
  3. It does this for each and every questions asked within last 14 days, daily.

How do I do it? Please guide? Is this achievable by a total noob? I have a CS degree from poor and corrupt country so I don't have any skills.

Recommended Answers

All 4 Replies

Don't be mad at the quality of your formal education for not being able to figure this one out because, unfortunately, this is simply not doable.

There's no way for you to gain direct access to Quora's database of questions and users. You simply can't query a database that you don't have direct access to. All that you can do is rely on the information that Quora chooses to share, in the format Quora chooses to share it.

Many sites, such as DaniWeb, have a public API and RSS feeds where we make JSON and XML data straight out of our database accessible for you to use in your own applications. This isn't something that Quora offers. In addition, Quora dynamically serves all of their content via client-side rendering with Javascript, meaning it's not easy to scrape their website content either. The actual HTML that they send to your web browser doesn't contain any of the content that you see on the page.

Additionally, as far as I can tell, there's not even a single page on Quora's website that lists all recent questions or users.

It looks like Quora heavily protects their database, and it lives in a silo, meaning that it's not accessible to anyone outside of Quora's in-house team of engineers.

You could make an automated program to auto-click, auto-scroll (the more you scroll, the more div classes (questions) are added), save the webpage, parse that file for urls (topic posts & user profiles), days, visit each url... Sites that use javascript, cookies, even capcha or cloudflare to hide content, make it more difficult. It's certainly not simple, but from what I saw, it looks possible. C++ would be what I would use, but I wouldn't bother. Effectivly spamming users is not something of interest. On a side note, if you can accomplish your task, you're no longer a noob.

It's a long journey if you cannot do file I/O yet.
Start by parsing practice text files for data extraction / stripping, and work your way up to spaghetti HTML.
Make an auto-click, mouse and keyboard movement program.
Combine the things you've learned and you'll be on your way.
Best of luck!

Now that I think about it, you might be able to use the google-chrome headless web browser. It's capable of javascript and interacting with the webpage. You can start by looking into Selenium.

seems like quora does not have an api to solve your requirements.
however, you can solve your problem using puppeteer
i wrote few automated tasks before with puppeteer + nodejs.
Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium.
You can use your local computer to achieve this.
As long as you will use your own quora user you will not have any spam or blocking activity problem.
Don't try to use it with multiple fake users, you will get blocked pretty fast.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.