1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University.

Slides:



Advertisements
Similar presentations
Effective Change Detection Using Sampling Junghoo John Cho Alexandros Ntoulas UCLA.
Advertisements

A Brief Look at Web Crawlers Bin Tan 03/15/07. Web Crawlers “… is a program or automated script which browses the World Wide Web in a methodical, automated.
Web Search – Summer Term 2006 IV. Web Search - Crawling (part 2) (c) Wolfgang Hürst, Albert-Ludwigs-University.
@ Carnegie Mellon Databases User-Centric Web Crawling Sandeep Pandey & Christopher Olston Carnegie Mellon University.
Sandeep Pandey 1, Sourashis Roy 2, Christopher Olston 1, Junghoo Cho 2, Soumen Chakrabarti 3 1 Carnegie Mellon 2 UCLA 3 IIT Bombay Shuffling a Stacked.
SIGMOD 2006University of Alberta1 Approximately Detecting Duplicates for Streaming Data using Stable Bloom Filters Presented by Fan Deng Joint work with.
“ The Anatomy of a Large-Scale Hypertextual Web Search Engine ” Presented by Ahmed Khaled Al-Shantout ICS
Freshness Policy Binoy Dharia, K. Rohan Gandhi, Madhura Kolwadkar Department of Computer Science University of Southern California Los Angeles, CA.
Looking at both the Present and the Past to Efficiently Update Replicas of Web Content Luciano Barbosa * Ana Carolina Salgado ! Francisco Tenorio ! Jacques.
Web Crawlers Nutch. Agenda What are web crawlers Main policies in crawling Nutch Nutch architecture.
CS246: Page Selection. Junghoo "John" Cho (UCLA Computer Science) 2 Page Selection Infinite # of pages on the Web – E.g., infinite pages from a calendar.
Crawling the WEB Representation and Management of Data on the Internet.
1 Searching the Web Junghoo Cho UCLA Computer Science.
Synchronizing a Database To Improve Freshness Junghoo Cho Hector Garcia-Molina Stanford University.
1 Collaborative Filtering and Pagerank in a Network Qiang Yang HKUST Thanks: Sonny Chee.
1 How to Crawl the Web Looksmart.com12/13/2002 Junghoo “John” Cho UCLA.
Web Search – Summer Term 2006 IV. Web Search - Crawling (c) Wolfgang Hürst, Albert-Ludwigs-University.
CS246 Search Engine Bias. Junghoo "John" Cho (UCLA Computer Science)2 Motivation “If you are not indexed by Google, you do not exist on the Web” --- news.com.
1 CS 502: Computing Methods for Digital Libraries Lecture 16 Web search engines.
1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University.
1 Internet and Data Management Junghoo “John” Cho UCLA Computer Science.
1 WebBase and Stanford Digital Library Project Junghoo Cho Stanford University.
Parallel Crawlers Junghoo Cho, Hector Garcia-Molina Stanford University Presented By: Raffi Margaliot Ori Elkin.
1 Our Web Part 0: Overview COMP630L Topics in DB Systems: Managing Web Data Fall, 2007 Dr Wilfred Ng.
CS345 Data Mining Crawling the Web. Web Crawling Basics get next url get page extract urls to visit urls visited urls web pages Web Start with a “seed.
How to Crawl the Web Junghoo Cho Hector Garcia-Molina Stanford University.
The Evolution of the Web and Implications for an Incremental Crawler Junghoo Cho Stanford University.
distributed web crawlers1 Implementation All following experiments were conducted with 40M web pages downloaded with Stanford’s webBase crawler in Dec.
Web Search – Summer Term 2006 V. Web Search - Page Repository (c) Wolfgang Hürst, Albert-Ludwigs-University.
Looking at both the Present and the Past to Efficiently Update Replicas of Web Content Luciano Barbosa * Ana Carolina Salgado ! Francisco Tenorio ! Jacques.
1 Intelligent Crawling Junghoo Cho Hector Garcia-Molina Stanford InfoLab.
Overview of Search Engines
Optimal Crawling Strategies for Web Search Engines Wolf, Sethuraman, Ozsen Presented By Rajat Teotia.
CS246 Search Engine Scale. Junghoo "John" Cho (UCLA Computer Science) 2 High-Level Architecture  Major modules for a search engine? 1. Crawler  Page.
A Web Crawler Design for Data Mining
Using Hyperlink structure information for web search.
Web Categorization Crawler Mohammed Agabaria Adam Shobash Supervisor: Victor Kulikov Winter 2009/10 Design & Architecture Dec
« Pruning Policies for Two-Tiered Inverted Index with Correctness Guarantee » Proceedings of the 30th annual international ACM SIGIR, Amsterdam 2007) A.
Crawling The Web For a Search Engine Or Why Crawling is Cool.
1 Efficient Crawling Through URL Ordering by Junghoo Cho, Hector Garcia-Molina, and Lawrence Page appearing in Computer Networks and ISDN Systems, vol.
Curtis Spencer Ezra Burgoyne An Internet Forum Index.
1 Searching the Web Representation and Management of Data on the Internet.
CS 347Notes101 CS 347 Parallel and Distributed Data Processing Distributed Information Retrieval Hector Garcia-Molina Zoltan Gyongyi.
1 University of Qom Information Retrieval Course Web Search (Spidering) Based on:
What is Web Information retrieval from web Search Engine Web Crawler Web crawler policies Conclusion How does a web crawler work Synchronization Algorithms.
Parallel Crawlers Efficient URL Caching for World Wide Web Crawling Presenter Sawood Alam AND.
1 Page Quality: In Search of an Unbiased Web Ranking Presented by: Arjun Dasgupta Adapted from slides by Junghoo Cho and Robert E. Adams SIGMOD 2005.
Web Search – Summer Term 2006 VII. Web Search - Indexing: Structure Index (c) Wolfgang Hürst, Albert-Ludwigs-University.
Sigir’99 Inside Internet Search Engines: Spidering and Indexing Jan Pedersen and William Chang.
Page Quality: In Search of an Unbiased Web Ranking Seminar on databases and the internet. Hebrew University of Jerusalem Winter 2008 Ofir Cooper
Evolution of Web from a Search Engine Perspective Saket Singam
WebBase: Building a Web Warehouse Hector Garcia-Molina Stanford University Work with: Sergey Brin, Junghoo Cho, Taher Haveliwala, Jun Hirai, Glen Jeh,
How to Crawl the Web Hector Garcia-Molina Stanford University Joint work with Junghoo Cho.
The Anatomy of a Large-Scale Hypertextual Web Search Engine S. Brin and L. Page, Computer Networks and ISDN Systems, Vol. 30, No. 1-7, pages , April.
Search Engine and Optimization 1. Introduction to Web Search Engines 2.
Jan 27, Digital Preservation Seminar1 Effective Page Refresh Policies for Web Crawlers Written By: Junghoo Cho & Hector Garcia-Molina Presenter:
Using ODP Metadata to Personalize Search Presented by Lan Nie 09/21/2005, Lehigh University.
Design and Implementation of a High- Performance Distributed Web Crawler Vladislav Shkapenyuk, Torsten Suel 실시간 연구실 문인철
1 Efficient Crawling Through URL Ordering Junghoo Cho Hector Garcia-Molina Lawrence Page Stanford InfoLab.
CS-791/891--Preservation of Digital Objects and Collections
Advanced Topics in Concurrency and Reactive Programming: Case Study – Google Cluster Majeed Kassis.
Old Dominion University Feburary 1st, 2005
How to Crawl the Web Peking University 12/24/2003 Junghoo “John” Cho
7CCSMWAL Algorithmic Issues in the WWW
IST 497 Vladimir Belyavskiy 11/21/02
CS246 Page Refresh.
Bring Order to The Web Ruey-Lung, Hsiao May 4 , 2000.
CS246 Search Engine Scale.
Junghoo “John” Cho UCLA
CS246: Search-Engine Scale
Presentation transcript:

1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University

2 What is a Crawler? web init get next url get page extract urls initial urls to visit urls visited urls web pages

3 Applications Internet Search Engines Internet Search Engines –Google, AltaVista Comparison Shopping Services Comparison Shopping Services –My Simon, BizRate Data mining Data mining –Stanford Web Base, IBM Web Fountain

4 WebBase Crawler Web Base Project Web Base Project BackRub Crawler, PageRank BackRub Crawler, PageRank Google Google New Web Base Crawler New Web Base Crawler –20,000 lines in C/C++ –130M pages collected

5 Crawling Issues (1) Load at visited web sites Load at visited web sites –Space out requests to a site –Limit number of requests to a site per day –Limit depth of crawl

6 Crawling Issues (2) Load at crawler Load at crawler –Parallelize init get next url get page extract urls initial urls to visit urls visited urls web pages init get next url get page extract urls ?

7 Crawling Issues (3) Scope of crawl Scope of crawl –Not enough space for “all” pages –Not enough time to visit “all” pages Solution: Visit “important” pages visited pages Intel

8 Crawling Issues (4) Replication Replication –Pages mirrored at multiple locations

9 Crawling Issues (5) Incremental crawling Incremental crawling –How do we avoid crawling from scratch? –How do we keep pages “fresh”?

10 Summary of My Research Load on sites [PAWS00] Load on sites [PAWS00] Parallel crawler [Tech Report 01] Parallel crawler [Tech Report 01] Page selection [WWW7] Page selection [WWW7] Replicated page detection [SIGMOD00] Replicated page detection [SIGMOD00] Page freshness [SIGMOD00] Page freshness [SIGMOD00] Crawler architecture [VLDB00] Crawler architecture [VLDB00]

11 Outline of This Talk How can we maintain pages fresh? How does the Web change? How does the Web change? What do we mean by “fresh” pages? What do we mean by “fresh” pages? How should we refresh pages? How should we refresh pages?

12 Web Evolution Experiment How often does a Web page change? How often does a Web page change? How long does a page stay on the Web? How long does a page stay on the Web? How long does it take for 50% of the Web to change? How long does it take for 50% of the Web to change? How do we model Web changes? How do we model Web changes?

13 Experimental Setup February 17 to June 24, 1999 February 17 to June 24, sites visited (with permission) 270 sites visited (with permission) –identified 400 sites with highest “PageRank” –contacted administrators 720,000 pages collected 720,000 pages collected –3,000 pages from each site daily –start at root, visit breadth first (get new & old pages) –ran only 9pm - 6am, 10 seconds between site requests

14 Average Change Interval fraction of pages  average change interval 

15 Change Interval – By Domain fraction of pages   average change interval

16 Modeling Web Evolution Poisson process with rate Poisson process with rate T is time to next event T is time to next event f T (t) = e - t (t > 0) f T (t) = e - t (t > 0)

17 Change Interval of Pages for pages that change every 10 days on average interval in days fraction of changes with given interval Poisson model

18 Change Metrics Freshness Freshness –Freshness of element e i at time t is F ( e i ; t ) = 1 if e i is up-to-date at time t 0 otherwise eiei eiei... webdatabase Freshness of the database S at time t is F( S ; t ) = F( e i ; t ) (Assume “equal importance” of pages)  N 1 N i=1

19 Change Metrics Age Age –Age of element e i at time t is A( e i ; t ) = 0 if e i is up-to-date at time t t - (modification e i time) otherwise eiei eiei... webdatabase Age of the database S at time t is A( S ; t ) = A( e i ; t ) (Assume “equal importance” of pages)  N 1 N i=1

20 Change Metrics F(e i ) A(e i ) time update refresh Time averages:

21 Refresh Order Fixed order Fixed order –Explicit list of URLs to visit Random order Random order –Start from seed URLs & follow links Purely random Purely random –Refresh pages on demand, as requested by user as requested by user eiei eiei... webdatabase

22 Freshness vs. Revisit Frequency r = / f = average change frequency / average visit frequency

23 Age vs. Revisit Frequency r = / f = average change frequency / average visit frequency = Age / time to refresh all N elements

24 Trick Question Two page database Two page database changes daily e 1 changes daily changes once a week e 2 changes once a week Can visit one page per week Can visit one page per week How should we visit pages? How should we visit pages? –... [uniform] –e 1 e 2 e 1 e 2 e 1 e 2 e 1 e 2... [uniform] – … [proportional] –e 1 e 1 e 1 e 1 e 1 e 1 e 1 e 2 e 1 e 1 … [proportional] –... –e 1 e 1 e 1 e 1 e 1 e 1... –... –e 2 e 2 e 2 e 2 e 2 e 2... –? e1e1 e2e2 e1e1 e2e2 web database

25 Proportional Often Not Good! Visit fast changing Visit fast changing e 1  get 1/2 day of freshness  get 1/2 day of freshness Visit slow changing Visit slow changing e 2  get 1/2 week of freshness Visiting is a better deal! Visiting e 2 is a better deal!

26 Optimal Refresh Frequency Problem Given and f, find find that maximize that maximize

27 Solution Compute Compute Lagrange multiplier method Lagrange multiplier method All All

28 Optimal Refresh Frequency Shape of curve is the same in all cases Holds for any change frequency distribution

29 Optimal Refresh for Age Shape of curve is the same in all cases Holds for any change frequency distribution

30 Comparing Policies Based on Statistics from experiment and revisit frequency of every month

31 Topics to Follow Weighted Freshness Weighted Freshness Non-Poisson Model Non-Poisson Model Change Frequency Estimation Change Frequency Estimation

32 Not Every Page is Equal! In general, e1e1 e2e2 Accessed by users 20 times/day Accessed by users 10 times/day Some pages are “more important” Some pages are “more important”

33 Weighted Freshness w = 1 w = 2 f

34 Non-Poisson Model interval in days fraction of changes with given interval Poisson model Heavy-tail distribution

35 Optimal Revisit Frequency for Heavy-Tail Distribution f

36 Principle of Diminishing Return T: time to next change T: time to next change : continuous, differentiable : continuous, differentiable Every page changes Every page changes Definition of change rate Definition of change rate

37 Change Frequency Estimation How to estimate change frequency? How to estimate change frequency? –Naïve Estimator: X/T –X: number of detected changes –T: monitoring period –2 changes in 10 days: 0.2 times/day Change detected 1 day Page visited Page changed Incomplete change history Incomplete change history

38 Improved Estimator Based on the Poisson model Based on the Poisson model –X: number of detected changes –N: number of accesses –f : access frequency 3 changes in 10 days: 0.36 times/day  Accounts for “missed” changes

39 Improved Estimator Bias Bias Efficiency Efficiency Consistency Consistency

40 Improvement Significant? Application to a Web crawler Application to a Web crawler –Visit pages once every week for 5 weeks –Estimate change frequency –Adjust revisit frequency based on the estimate »Uniform: do not adjust »Naïve: based on the naïve estimator »Ours: based on our improved estimator

41 Improvement from Our Estimator Detected changes Ratio to uniform Uniform2,147, % 100% Naïve4,145,582193% Ours4,892,116228% (9,200,000 visits in total)

42 Other Estimators Irregular access interval Irregular access interval Last-modified date Last-modified date Categorization Categorization

43 Summary Web evolution experiment Web evolution experiment Change metric Change metric Refresh policy Refresh policy Frequency estimator Frequency estimator

44 Contribution Freshness [SIGMOD00] Freshness [SIGMOD00] Page selection [WWW7] Page selection [WWW7] Replicated page detection [SIGMOD00] Replicated page detection [SIGMOD00] Load on sites [PAWS00] Load on sites [PAWS00] Parallel crawler [Tech Report 01] Parallel crawler [Tech Report 01] Crawler architecture [VLDB00] Crawler architecture [VLDB00]

45 The End Thank you for your attention Thank you for your attention For more information visit For more information visithttp://www-db.stanford.edu/~cho/