Crawling a quarter billion webpages in 40 hours (2012)
61–68 of 68 posts
Re: Crawling a quarter billion webpages in 40 hours (2012)
#62A note of caution: never scrape the web from your local/residential network. Few months back I wanted to verify a set of around 200k URLs from a large data set that included a set of URL references for each object, and naively wrote a simple Python script that would use ten concurrent threads to ping each URL and record the HTTP status code that came back. I let this run for some time and was happy with the results,…
[1] https://blog.adnansiddiqi.me/scraping-dynamic-websites-using...
Re: Crawling a quarter billion webpages in 40 hours (2012)
#63To save you a click: Use 20 machines.
250M / 40hrs / 60min / 60s ~= 1,737 rps. That over 20 machines is ~87 rps per machine. Depending on a few factors, I rough out my backend Go stuff to handle between 1-5k rps per machine before we have real numbers.
Re: Crawling a quarter billion webpages in 40 hours (2012)
#64My fastest implementation in python was actually using threads and was much faster than any async variant
Re: Crawling a quarter billion webpages in 40 hours (2012)
#65Earlier quoted context omitted.
250M / 40hrs / 60min / 60s ~= 1,737 rps. That over 20 machines is ~87 rps per machine. Depending on a few factors, I rough out my backend Go stuff to handle between 1-5k rps per machine before we have real numbers.
You didn't write your Go stuff 11 years ago though...
Re: Crawling a quarter billion webpages in 40 hours (2012)
#66A note of caution: never scrape the web from your local/residential network. Few months back I wanted to verify a set of around 200k URLs from a large data set that included a set of URL references for each object, and naively wrote a simple Python script that would use ten concurrent threads to ping each URL and record the HTTP status code that came back. I let this run for some time and was happy with the results,…
Re: Crawling a quarter billion webpages in 40 hours (2012)
#67Re: Crawling a quarter billion webpages in 40 hours (2012)
#68Earlier quoted context omitted.
You didn't write your Go stuff 11 years ago though...
We started with Go version 1.2 which was released over ten years ago. Pretty darn close to 11 years. https://go.dev/doc/go1.2