<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/i-for-one-welcome-our-forthcoming-new-robots-txt-overlords/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://rud.is/b/2017/11/03/i-for-one-welcome-our-forthcoming-new-robots-txt-overlords/"> R – rud.is</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p><a rel="nofollow" href="https://i1.wp.com/rud.is/b/wp-content/uploads/2017/11/andy-kelly-402111.jpg?ssl=1" target="_blank"><img alt="" src="https://i1.wp.com/rud.is/b/wp-content/uploads/2017/11/andy-kelly-402111.jpg?resize=780%2C520&ssl=1" class="wp-image-6954" data-recalc-dims="1"></a></p>
<p>Despite my week-long Twitter consumption sabbatical (helped — in part — by the nigh week-long internet and power outage here in Maine), I still catch useful snippets from folks. My cow-orker <a rel="nofollow" href="http://twitter.com/dabdine" target="_blank">@dabdine</a> shunted a tweet by <a rel="nofollow" href="http://twitter.com/terrencehart" target="_blank">@terrencehart</a> into a Slack channel this morning, and said tweet contained a link to <a rel="nofollow" href="https://scholar.google.com/scholar_case?case=5916920735312631998" target="_blank">this little gem</a>. Said gem is the text of a very recent ruling from a District Court in Texas and deals with a favourite subject of mine: <code>robots.txt</code>.</p>
<p>The background of the case is that there were two parties who both ran websites for oil and gas professionals that include job postings. One party filed a lawsuit against the other asserting that the they hacked into their system and accessed and used various information in violation of the Computer Fraud and Abuse Act (CFAA), the Stored Wire and Electronic Communications and Transactional Records Access Act (SWECTRA), the Racketeer Influenced and Corrupt Organizations Act (RICO), the Texas Harmful Access by Computer Act (THACA), the Texas Theft Liability Act (TTLA), and the Texas Uniform Trade Secrets Act (TUTS). They also asserted common law claims of misappropriation of confidential information, conversion, trespass to chattels, fraud, breach of fiduciary duty, unfair competition, tortious interference with present and prospective business relationships, civil conspiracy, and aiding and abetting.</p>
<p>The other party filed a motion for dismissal on a number of grounds involving legalese on Terms &amp; Conditions, a rebuttal of CFAA claims and really gnarly legalese around copyrights. There are more than a few paragraphs that make me glad none of my offspring have gone into or have a desire to go into the legal profession. One TLDR here is that T&amp;Cs do, in fact, matter (though that is definitely dependent upon the legal climate where you live or have a case filed against you). We’re going to focus on the DMCA claim which leads us to the <code>robots.txt</code> part.</p>
<p>I shall also preface the rest with “IANAL”, but I don’t think a review of this case requires a law degree.</p>
<h3>Command-Shift-R</h3>
<p>To refresh memories (or create lasting new ones), <code>robots.txt</code> is a file that is placed at the top of a web site domain (i.e. <a rel="nofollow" href="https://rud.is/robots.txt" target="_blank">https://rud.is/robots.txt</a>) that contains <a rel="nofollow" href="https://en.wikipedia.org/wiki/Robots_exclusion_standard" target="_blank">robots exclusion standard</a> rules. These rules tell bots (NOTE: if you write a scraper, you’ve written a scraping bot) what they can or cannot scrape and what — if any — delay should be placed between scraping efforts by said bot.</p>
<p>R has two CRAN packages for dealing with these files/rules: <a rel="nofollow" href="https://cran.r-project.org/web/packages/robotstxt/" target="_blank"><code>robotstxt</code></a> by Peter Meissner and <a rel="nofollow" href="https://cran.r-project.org/web/packages/spiderbar/index.html" target="_blank"><code>spiderbar</code></a> by me. They are not competitors, but are designed much like Reese’s Peanut Butter cups — to go together (though Peter did some <em>wicked good testing</em> and noted a possible error in the underlying C++ library I use that could generate Type I or Type II in certain circumstances) and each has some specialization. I note them now because you don’t have an excuse not to check <code>robots.txt</code> given two CRAN packages being available. Python folks have (at a minimum) <code>robotparser</code> and <code>reppy</code>. Node, Go and other, modern languages all have at least one module/library/package available as well. No. Excuses.</p>
<h3>Your Point?</h3>
<p><em>(Y’all are always in a rush, eh?)</em></p>
<p>This October, 2017 Texas ruling references a <a rel="nofollow" href="https://scholar.google.com/scholar_case?case=17446744354402591987&hl=en&as_sdt=40000006" target="_blank">2007 ruling by a District Court in Pennsylvania</a>. I dug in a bit through <a rel="nofollow" href="https://scholar.google.com/scholar?hl=en&as_sdt=40000003&q=%22robots.txt%22&btnG=" target="_blank">searchable Federal case law</a> for mentions of <code>robots.txt</code> and there aren’t many U.S. cases that mention this control, though I am amused a small cadre of paralegals had to type <code>robots.txt</code> over-and-over again.</p>
<p>The dismissal request on the grounds that the CFAA did not apply was <em>summarily rejected</em>. Why? The defendant provided proof that they monitor for scraping activity that violates the <code>robots.txt</code> rules and that they use the Windows Firewall (ugh, they use Windows for web serving) to block offending IP addresses when they discover them.</p>
<p>Nuances came out further along in the dismissal text noting that user-interactive viewing of the member profiles on the site was well-within the T&amp;Cs but that the defendant <em>“never authorized [the use of] automated bots to download over 500,000 profiles”</em> nor to have that data used for commercial purposes.</p>
<p>The kicker (for me, anyway) is the last paragraph of the document in the Conclusion where the defendant asserts that:</p>
<ul>
<li><code>robots.txt</code> is in fact a bona-fide technological measure to effectively control access to copyright materials</li>
<li>the “Internet industry” (I seriously dislike lawyers for wording just like that) has recognized <code>robots.txt</code> as a standard for controlling automated access to resources</li>
<li><code>robots.txt</code> has been a valid enforcement mechanism since 1994</li>
</ul>
<p>The good bit is: -“Whether it actually qualifies in this case will be determined definitively at summary judgment or by a jury.”_ To me, this sounds like a ruling by a jury/judge in favor of <code>robots.txt</code> could mean that it becomes much stronger case law for future misuse claims.</p>
<p>With that in mind:</p>
<ul>
<li><strong>Site owners</strong>: USE <code>robots.txt</code>, if — for no other reason — to aid legitimate researchers who want to make use of your data for valid scientific purposes, education or to create non-infringing content or analyses that will be a benefit to the public good. You can also use it to legally protect your content (but there are definitely nuances around how you do that).</li>
<li><strong>Scrapers</strong>: Check and obey <code>robots.txt</code> rules. You have no technological excuse not to and not doing so really appears that it could come back to haunt you in the very near future.</li>
</ul>
<h3>FIN</h3>
<p>I’ve setup an alert for when future rulings come out for this case and will toss up another post here or on the work-blog (so I can run it by our very-non-skeezy legal team) when it pops up again.</p>
<div><span><a rel="nofollow" href="https://unsplash.com/photos/0E_vhMVqL9g" target="_blank">“Best Friends”</a> image by Andy Kelly. Used with permission.<span>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="https://rud.is/b/2017/11/03/i-for-one-welcome-our-forthcoming-new-robots-txt-overlords/"> R – rud.is</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/bxwEkzGoUNU" height="1"></a></div></span></span></div>