Live data from Hacker News

Google's Indexing Javascript more than we thought

distilled.net

11–20 of 35 posts

Re: Google's Indexing Javascript more than we thought

#11

> My personal favorite example of this is Google Translate, which is one of the most accurate machine translating tools on the planet. Google almost sacked it because it was not profitable, and had it not been for public outcry we may have lost access to this technology altogether. I kind of missed this "public outcry", when did it happen? And if Google listens to public outcry, why did we lose Google Code Search?

When the shutdown of Google Translate API was announced, a few months ago. (Just the API, note. Not the tool itself).

It was saved because people care enough about the translation API that they're willing to pay for using it.

Re: Google's Indexing Javascript more than we thought

#12
post #5

It occurs to me that if GoogleBot is executing client javascript you could take advantage of Google's resources for computational tasks. For instance, let me introduce you to SETI@GoogleBot. SETI@GoogleBot is much like SETI@home except it takes advantage of GoogleBot's recently discovered capabilities. Including the SETI@GoogleBot script into your web pages will cause (after the page load event) the page to fetch a c…

One would assume that they are clever enough to have built in safeguards to prevent anything going too long, or using too much processing power.

Re: Google's Indexing Javascript more than we thought

#13
post #12
post #5

It occurs to me that if GoogleBot is executing client javascript you could take advantage of Google's resources for computational tasks. For instance, let me introduce you to SETI@GoogleBot. SETI@GoogleBot is much like SETI@home except it takes advantage of GoogleBot's recently discovered capabilities. Including the SETI@GoogleBot script into your web pages will cause (after the page load event) the page to fetch a c…

One would assume that they are clever enough to have built in safeguards to prevent anything going too long, or using too much processing power.

Not just that, I would also assume that PageRank will penalise your site if a JS takes so long to execute.

Re: Google's Indexing Javascript more than we thought

#14
I have been saying this for years, but most people have refused to believe me

Like most people a long time ago I also held the belief that robots were just dumb scripts, however I learnt that this is not the case when I had to trap said robots for a previous employer.

See at the time I was working for one of the many online travel sites; now most people probably are not aware that there is quite a bit of money that can be made in knowing airline costs. The thing is that to get this information is not actually cheap, see most of the GDS (Global Distribution System) providers are big mainframe shops that require all sorts of cunning to happen to emulate a green-screen session for the purposes of booking a flight.

The availability search (I forget the exact codenames for this) is done first, this search gives you the potential flights (after working through the byzantine rules of travel) and a costing or fare quote for your trip. This information is reliable about ~95% of the time. Each search costs a small amount against a pre-determined budget, and the slightly more over the limit (kinda like how commercial bandwidth is sold), if my memory serves it was 0.001 euro cents for each search.

During the booking phase (known as the GDS code FXP) the price is actually settled, the booking is a weird form of two-phase commit where first you get a concrete fair quote. This quote ‟ringfences” the fare - essentially ensuring that the seat cannot be booked for roughly 15 minutes. In practise there are a load more technicalities around this part of the system and as such it is possible for double bookings and over bookings to happen, but lets keep it simple for the sake of this story. These prebookings are roughly 99.5% accurate on price but cost something like 0.75 cents (there is a _lot_ that happens when you start booking a flight).

So with that in mind if you are in the business of trying to resell flights it can be to your advantage to avoid the GDS costs and scrape one of the online travel companies. You also want the prebook version of the fare as its more likely to be accurate, the travel sites mind less about people scrapping the lookup search.

Thus begins the saga of our bot elimination projects, first we banned all IP's that smash the site thousands of times, this is easy and kills 45% of the bots dead. Next up we start proper robots.txt and ways to discourage googlebot and the more "honest" robots, that gets us up to dealing with 80% of the bots. Next we take out china, russia etc as ip-addresses, we find that these often have the most fraudulent bookings anyhow so no big loss, that takes us up to 90% of the bots.

Killing the last 10% was never done, every time we tried something new (captua's, JS nonce values, weird redirect patterns, bot traps and pixels, user agent sniffs etc etc) the bots seemed to immediately work around it. I remember watching the access logs where we had one IP that never, ever bought products, just looked for really expensive flights. I distinctly remember seeing it hit a bottrap, notice the page was bad, and then out of nowhere the same user session appears on a brand new IP address with a new user agent, one that essentially said "netscape navigator 4.0 on X11" (this was firefox 1-2 days so seeing unix netscape navigator was a rare sight), it was clear the bot went and executed the javascript nonce with a full browser, and then went back to fast scraping.

A few years later, at the same company but for very different reasons I wrote a tool to replace a product known as gomez with an in house system. The idea of gomez and similar products like site-confidence is to run your website as the user sees it, from random ip's across the world and then report on it. I wrote this tool with XulRunner which is a stripped down version of firefox. Now admittedly I had the insider knowledge of where the bot traps were, but I was amazed at how easy it was to side-step all of our bot-detection in only a few days, I also had unit tests for the system that ran it on sites like Amazon and Google and even there is was shocking how easily I was able to side step bot traps (I am sure since they have got better, but it surprised me how easy it was).

I am not saying all the bots are smart, but my mantra since then has been that "if there is value for the bots to be smart, they can get very smart". I guess its all about the cost payoff for those writing the bots, is it a good idea to run JS all the time as a spider - probably not, does it make sense to save you from 0.75 cents of cost per search - very much so !

Re: Google's Indexing Javascript more than we thought

#16
post #13
post #12

Earlier quoted context omitted.

One would assume that they are clever enough to have built in safeguards to prevent anything going too long, or using too much processing power.

Not just that, I would also assume that PageRank will penalise your site if a JS takes so long to execute.

Looking at Google Webmaster tools, I see a significant decline in my reported site performance starting in September, even though my site's speed has improved significantly since then by my own measures. Assuming this is due to our 'next' feature that AJAXs in, I'm going to disallow the 'next' urls in robots.txt and cross my fingers.

Re: Google's Indexing Javascript more than we thought

#17
post #16
post #13

Earlier quoted context omitted.

Not just that, I would also assume that PageRank will penalise your site if a JS takes so long to execute.

Looking at Google Webmaster tools, I see a significant decline in my reported site performance starting in September, even though my site's speed has improved significantly since then by my own measures. Assuming this is due to our 'next' feature that AJAXs in, I'm going to disallow the 'next' urls in robots.txt and cross my fingers.

If you see significant positive results, write them up and let us know.

Re: Google's Indexing Javascript more than we thought

#18
post #5

It occurs to me that if GoogleBot is executing client javascript you could take advantage of Google's resources for computational tasks. For instance, let me introduce you to SETI@GoogleBot. SETI@GoogleBot is much like SETI@home except it takes advantage of GoogleBot's recently discovered capabilities. Including the SETI@GoogleBot script into your web pages will cause (after the page load event) the page to fetch a c…

If enough people did that where it would matter, Google would probably notice and patch the code to stop executing it.

Re: Google's Indexing Javascript more than we thought

#19

I have been saying this for years, but most people have refused to believe me Like most people a long time ago I also held the belief that robots were just dumb scripts, however I learnt that this is not the case when I had to trap said robots for a previous employer. See at the time I was working for one of the many online travel sites; now most people probably are not aware that there is quite a bit of money that c…

> I am not saying all the bots are smart, but my mantra since then has been that "if there is value for the bots to be smart, they can get very smart".

I was once actually on the other side of the fence as you were, around 5-6 years ago (in a different industry, though). You're right, if there's value to be gained by scrapping other people's pages there's almost always a way round the obstacles.

I remember the day when my boss presented me a link to a strange-named FF extension, called Chickenfoot (http://groups.csail.mit.edu/uid/chickenfoot/faq.html). It allowed one to very easily write FF extensions that would programatically click on whatever links you wanted to be scrapped, all this from inside the browser, like a normal user would have done. I used to run FF with this extension installed on a dedicated cheap PC, saving the data to our servers, and from time to time automatically restarting FF because the machine was running out of memory. Fun times :)

Re: Google's Indexing Javascript more than we thought

#20
I don't buy this argument. Wanting to have a more complete rendering engine for their crawler might have been a factor in designing Chrome, but I can't imagine it was in any way the driving force. The costs of developing a browser that runs well on millions of different computers and configurations are far beyond what it would take to make a really great headless version of WebKit for your crawler.
Post reply on HN