I am creating a web application which scrapes data from some other websites based on what the user searches.
I am planning to host this application on hosting websites like Hostgator or Namecheap.
Currently, the application contains a total of 2 pages. One is index.html and another is tool.py.
index.html takes an input via form and post it to tool.py.
tool.py is responsible for web scraping. I have 2 questions regarding this:
1) Let's say 2 users come to my website and searched simultaneously. Which IP will go to these websites which are to be scraped? Is it users own IP will go or the script IP will go (where the tool.py is located in this case let's suppose Namecheap server ip).
2) If 100's of users search simultaneously, how will the tool.py script reacts? Is there a better way to prevent excessive load to the single script? Maybe distributing and picking scripts randomly (eg: tool1.py, tool2.py, tool3.py etc)
Ok to answer your questions in order.

As @GalAbra mentions above, it is dependent on the design of the tool. From the sounds of it though, if index.html forces the browser to post data to tool.py then the IP of where tool.py is located will be the one that requests the page. 
The ideal way would be to have a queing system built into the tool. You could have the client add their request to the queue (possibly in a database) and then have the tool.py monitor the queue for new entries and have it then request. Possibly using threading where there are multiple new requests in the queue, depending on how much activity you think this tool will see.

Hope this helps
Which IP address will go to the destination website?