I've attached a picture of what the GUI should look like. Please view it. Also, read this job description thoroughly, as I've been EXTREMELY detailed in what I need. First, I have a general overview of what the tool will do. Beneath that, are the details of EXACTLY how the bot should do it.
I would like this bot to run without the user being able to see what it's doing. In other words, I want to be able to see the UI of the software, but not see any browser windows or anything else (so basically "running in the background").
Overview:
From the UI of the software, the user will select a .txt file of queries. They will be line seperated, like this:
word or phrase 1
word or phrase 2
word or phrase 3
etc
etc
etc
They will then select where they want the result file to be saved from the UI.
Then, they'll select the number of threads the bot should use and how many "levels deep" it should go while scraping keywords (this is explained below).
They will then hit start (the start button should turn into a stop button once pushed.)
Once I push start, it will begin the process described below. It has to save the results ON THE FLY, as it is getting them.
It should also save the input query file, except updated with where it's at in the list of input querys. For instance, if I have 10 phrases in my input file, and it has already performed the process described below for the first three words, it should remove those 3 words from the input file. That way I can stop the program and come back later and not have to re-scrape words I've already scraped.
So if my input file is named: input [login to view URL]
and the name I want my results file named as is: new keyword [login to view URL]
It should be saving TWO files on the fly, as the software is working:
input queries~[login to view URL] (the updated on the fly input file)
new keyword [login to view URL] (the results file it is currently adding keywords to)
It should also be removing duplicate scraped keywords/phrases from the results file AS IT'S WORKING. So as it is saving the file on the fly, each time it saves the file, it should remove duplicates.
SPECIFICS ON HOW IT WORKS:
The bot will be visiting [login to view URL]
If you go to google, and start typing a word, it will show beneath the query box a number of "search suggestions". Those search suggestions will change with each new key entered.
So lets say my query file had only one phrase in it. That phrase being:
online gaming
When I press start, it would go to google and start typing that phrase LETTER BY LETTER with a 1 second delay between each new letter.
Upon pressing o the following suggestions are generated beneath the input area:
oovoo
old navy
overstock
olive garden
orbitz
omegle
office depot
open office
oprah
ollies
Upon pressing the next key of that phrase, n (so now the following two letters are in the search box: on ) the following suggestions are generated beneath the input area:
online games
one tree hill
online calculator
online dictionary
quotes about moving on
online guitar tuner
online radio
onet
onorato
snap on
It should continue doing that letter by letter until it has scraped every suggestion generated by slowly typing "online gaming" letter by letter.
Doing that would create the following list of words/phrases (keep reading, there is more beneath this list of words to read):
EDIT: I've attached a .txt file that contains all the words that it would generate. I couldn't put them all here because there wasn't enough space to fit it all.
Now, if I have 10 words in my input file, and I selected to have the bot run with 10 threads, it should be doing the process above with all 10 words simultaneously at the same time and in the background.
The last option to go over, is "Levels Deep" There should be a maximum user input of 3 levels deep. Here is what it means:
I've attached a .txt file containing what the "levels deep" feature means, as I didn't have enough room to fit it here.
Hi,
I can provide a feasible & better solution using thread-pool, keywords saved in registry including additional multi-threaded 3 level depth.
please find PM for a demo app similar to it.
Anand.
Executable to be delivered exactly as requested in the project page. The format of the results file will be as it will be described by the project creator.
Can include results viewer tool: a simple program that will imitate the google page by using the results file to demonstrate the results.