Rewrite PageScrapeBot

Revision as of 14:55, 4 September 2007 by Arif Iqbal (talk | contribs) (Tuesday Sep 4, 2007)



OurWork Edit-chalk-10bo12.png

Contributors: Athar Hameed, Ali Aslam, Arif Iqbal, Hassan Javeed, Laiq Jafri, Mohammad Ghufran, Umar Sheikh

What (summary)

The current PageScrapeBot is part of a large Java tomcat process running on our database master. We want to rewrite it in ruby and move it off of the database master. Rewrite PageScrapeBot is one Task in the larger WhoisRefresh Project.

The bot currently goes and gets the whois record from alexa, crawls the site looking for a logo, meta information for category guessing, looks for "aboutus" information on the site and several other things, then dumps all of that information into the database from where it is collected and reassembled by the PageCreationBot.

Why this is important

  • Gives us mastery over our technology. We can change it easily (e.g., add amazon books that mention the domain), or adapt it for a different problem.
  • Allows us to turn off Apache and the large Java tomcat process on our database master.

DoneDone

Given a domain, the bot collects the following information and adds it to the database

  • A snippet about the domain, gathered from the site itself
  • A thumbnail portrait of the front page
  • A best guess at the logo for the site
  • A list of related domains
  • The address (or perhaps addresses) for the site along with citation from where the address came
  • Meta information about the owner, email, alexa rank, language of the site, whether it is online or not, and whether it is classified as adult by alexa or not
  • dmoz categories that contain the site
  • metainformation about the domain (for example is it an idn domain)
  • location of the homepage for the site (www.example.com vs example.com)
  • incoming links to the frontpage
  • keywords from the meta information on the frontpage
  • the logo for the website
  • all the meta information ... for example, is it parked? does it forward? is it online? is the registration protected?
  • sites that it links out to

Steps to get to DoneDone

Get compost up and running on all dev machines

  • Get compost up and running on everyone machines.
  • Make sure that the commits are going in the repository and database/models.

Find dmoz categories of the website

  • Fetch domain categories from dmoz data.

Fetch Domain Info from Google and Yahoo API

  • Incoming links

Site crawler that finds logo, and meta tags on the front page

  • Metatags extraction.
  • language of the page.
  • logo
  • Is this page forwarded to some other domain, hosted, or parked
  • Location of home page for the site.

Capture alexa information

  • thumbnail
  • whois
  • related domains
  • site rank
  • status
  • adult content

Concern/Issues

Tuesday Sep 4, 2007

  • Code of the current crawler is in ?
  • Offline Crawling
    • versions of information
  • Testing of alexa information?
    • Monitoring rather testing. Result from alexa makes sense. Call for things that we know etc.
  • The way we are using google API to fetch pages etc.
  • Crawl the complete website to get meta tags etc.
    • Try to get all information in 5 pages. Heuristic approach
    • robots.txt dont crawl the disallowed website.
  • Changing the schema, if we feel like?

Monday Sep 3, 2007

  • Scalability concerns. ?
    • code of the current crawler is in ?
  • Name of people in the commit.
  • Amazon account
    • Alexa information is months old.
    • Incoming links through google.
    • Outgoing links? crawling the website.
  • Extracting information from web pages.
  • Small for small people.
  • web server.
  • web interface to see where we need to put in the calling.
    • app/web_services/web_services.rb in compost.
    • wiki/extensions/AboutUsWebServices in aboutus.
  • Scheme ?

Development Repositories

  • /opt/git/compost-whois-refresh
  • /opt/git/aboutus-whois-refresh

Gather Information

Ruby Libraries

  • mechanise mechanize
  • hpricot
  • topsoil web spider


Retrieved from "http://aboutus.com/index.php?title=Rewrite_PageScrapeBot&oldid=9433540"