Built a web crawler , C/C++ Programming

Assignment Help:

To develop a web crawler such that when given a base URL, it will traverse the entire web tree and then build an index of keywords and what URL link they appear on.   The web crawler is a server-side program where it can begin called the seed.  As the crawler visits the URL, it identifies all the hyperlinks in the page (eg: detecting the " < a href ..." links) and adds them to the list of URLs to visit, called the crawl frontier.   URLs from the frontier are then visited by your server-side program to look for a few keywords (eg: raffles, award, alumni etc) initially on this website and stored their corresponding URL links where these keywords can be found in a file.  

Below is a sample of the data stored in the Server for subsequent quick search.

Another interactive client and server socket programs using C++ can be developed to allow clients to query with the search keywords of the website and obtain a server's reply of a list of URLs where the keyword is found.  The server program developed must be able to handle multiple queries and hence be able to search through its data file for a correct response.  The server program should also allow continuous enquires until the customer enters quit.  

The communication between the client and server machine can be any bidirectional interactive protocol.  An example is to use socket programming where network endpoints (IP address and port number) are represented as sockets.

 

When creating the server application, you must follow these steps:

  • Create a new socket by typing: socket().
  • Bind an address (IP address and port number) to the socket by typing: bind. This step identifies the server so that the client knows where to go.
  • Listen for new connection requests on the socket by typing: listen().
  • Accept new connections by typing: accept().

Often, the servicing of a request on behalf of a client may take a considerable length of time. It would be more efficient in such a case to accept and deal with new connections while a request is being processed. The most common way of doing this is for the server to fork a new copy of it after accepting the new connection.

The "responsing" Server listens on a port and waits for client's request. Based on the Client's questions, the Server will response appropriately by looking up a data file stored at the server's end.  


Related Discussions:- Built a web crawler

Explain recursive functions, Recursive Functions Recursion is a process...

Recursive Functions Recursion is a process by which a function includes itself with a condition for its safe exit. It is best suitable for a recursive problem. A typical exampl

What is an explicit constructor, A conversion constructor declared with the...

A conversion constructor declared with the explicit keyword. The compiler does not use an explicit constructor to execute an implied conversion of types. Its purpose is reserved ex

Get reverse engineer to linux game routine analysis, Get Reverse Engineer t...

Get Reverse Engineer to Linux game routine analysis Project Description: I want a fast and efficient reverse engineer with good knowledge of assembly x86 language, strong rev

Model view controler, store the name of the political parties and the corre...

store the name of the political parties and the corresponding votes in two lists of equal length. access the lists is provided by two methods, each of which creates an interator th

Luminous jewels polishing game, Luminous Jewels - The Polishing Game Bytel...

Luminous Jewels - The Polishing Game Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various lum

Explain static variables, Static Variables Static variables have the si...

Static Variables Static variables have the similar scope s automatic variables, but, unlike automatic variables, static variables retain their values over number of function ca

Explain polymorphism, Polymorphism C++ supports this idea - that differ...

Polymorphism C++ supports this idea - that different objects do "the right thing "- by function polymorphism and class polymorphism. Poly means many, while morph means form.

Inheritance, example of program to add two number

example of program to add two number

What if one can''t wrap the local in an artificial block?, What if one can'...

What if one can''t wrap the local in an artificial block?

Notion of encapsulation, The purpose of this assignment is to familiarize y...

The purpose of this assignment is to familiarize you with the notion of encapsulation as well as some aspects of IP and ICMP. Write your programs in C or C++. They will be grade

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd