Browse Source

raw vs string content in wc_inspect

master
boB Rudis 5 years ago
parent
commit
1aa9f99707
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
  1. 6
      DESCRIPTION
  2. 7
      NEWS.md
  3. 2
      R/wc-inspect.R
  4. 67
      README.Rmd
  5. 314
      README.md
  6. BIN
      inst/java/htmlunit-1.0-SNAPSHOT.jar
  7. 4
      java/htmlunit/Makefile
  8. BIN
      java/htmlunit/deps/commons-text-1.7.jar
  9. BIN
      java/htmlunit/deps/dec-0.1.2.jar
  10. BIN
      java/htmlunit/deps/htmlunit-2.36.0.jar
  11. BIN
      java/htmlunit/deps/htmlunit-core-js-2.36.0.jar
  12. BIN
      java/htmlunit/deps/htmlunit-cssparser-1.5.0.jar
  13. BIN
      java/htmlunit/deps/httpclient-4.5.9.jar
  14. BIN
      java/htmlunit/deps/httpmime-4.5.9.jar
  15. BIN
      java/htmlunit/deps/jetty-client-9.4.20.v20190813.jar
  16. BIN
      java/htmlunit/deps/jetty-http-9.4.20.v20190813.jar
  17. BIN
      java/htmlunit/deps/jetty-io-9.4.20.v20190813.jar
  18. BIN
      java/htmlunit/deps/jetty-util-9.4.20.v20190813.jar
  19. BIN
      java/htmlunit/deps/jetty-xml-9.4.20.v20190813.jar
  20. BIN
      java/htmlunit/deps/neko-htmlunit-2.36.0.jar
  21. BIN
      java/htmlunit/deps/websocket-api-9.4.20.v20190813.jar
  22. BIN
      java/htmlunit/deps/websocket-client-9.4.20.v20190813.jar
  23. BIN
      java/htmlunit/deps/websocket-common-9.4.20.v20190813.jar
  24. 2
      java/htmlunit/pom.xml
  25. 1
      java/htmlunit/src/main/java/is/rud/htmlunit/App.java
  26. BIN
      java/htmlunit/target/classes/is/rud/htmlunit/App$1.class
  27. BIN
      java/htmlunit/target/classes/is/rud/htmlunit/App.class
  28. BIN
      java/htmlunit/target/htmlunit-1.0-SNAPSHOT.jar

6
DESCRIPTION

@ -1,15 +1,15 @@
Package: htmlunit
Type: Package
Title: Tools to Scrape Dynamic Web Content via the 'HtmlUnit' Java Library
Version: 0.2.0
Date: 2019-04-29
Version: 0.3.0
Date: 2019-08-24
Authors@R: c(
person("Bob", "Rudis", email = "bob@rud.is", role = c("aut", "cre"),
comment = c(ORCID = "0000-0001-5670-2640")),
person("Everet", "Rummel", email = "everet.rummel@gmail.com", role = "ctb")
)
Maintainer: Bob Rudis <bob@rud.is>
Description: 'HtmlUnit' (<http://htmlunit.sourceforge.net/>) is a "'GUI'-Less
Description: 'HtmlUnit' (<https://htmlunit.sourceforge.net/>) is a "'GUI'-Less
browser for 'Java' programs". It models 'HTML' documents and provides an 'API'
that allows one to invoke pages, fill out forms, click links and more just like
one does in a "normal" browser. The library has fairly good and constantly

7
NEWS.md

@ -1,2 +1,9 @@
0.3.0
* java 11 compile
* tested against new htmlunit jar release
0.2.0
* inspect
0.1.0
* Initial release

2
R/wc-inspect.R

@ -34,7 +34,7 @@ wc_inspect <- function(url, js_delay = 5000L) {
url = wr$getUrl()$toString() %||% NA_character_,
status_code = .x$getStatusCode() %||% NA_integer_,
message = .x$getStatusMessage() %||% NA_character_,
content = .x$getContentAsString()%||% NA_character_,
content =I(list(charToRaw(.x$getContentAsString()))) %||% NA_character_,
content_length = as.double(.x$getContentLength() %||% NA_real_),
content_type = .x$getContentType() %||% NA_character_,
load_time = as.double(.x$getLoadTime() %||% NA_real_),

67
README.Rmd

@ -1,32 +1,21 @@
---
output: rmarkdown::github_document
output:
rmarkdown::github_document:
df_print: kable
editor_options:
chunk_output_type: console
---
```{r include=FALSE}
knitr::opts_chunk$set(message=FALSE, warning=FALSE, collapse=TRUE)
```{r pkg-knitr-opts, include=FALSE}
hrbrpkghelpr::global_opts()
```
[![Travis-CI Build Status](https://travis-ci.org/hrbrmstr/htmlunit.svg?branch=master)](https://travis-ci.org/hrbrmstr/htmlunit)
[![Coverage Status](https://img.shields.io/codecov/c/github/hrbrmstr/htmlunit/master.svg)](https://codecov.io/github/hrbrmstr/htmlunit?branch=master)
[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/htmlunit)](https://cran.r-project.org/package=htmlunit)
# htmlunit
Tools to Scrape Dynamic Web Content via the 'HtmlUnit' Java Library
## Description
`HtmlUnit` (<http://htmlunit.sourceforge.net/>) is _a "'GUI'-Less
browser for 'Java' programs". It models 'HTML' documents and provides an 'API'
that allows one to invoke pages, fill out forms, click links and more just like
one does in a "normal" browser. The library has fairly good and constantly
improving 'JavaScript' support and is able to work even with quite complex 'AJAX'
libraries, simulating 'Chrome', 'Firefox' or 'Internet Explorer' depending on
the configuration used. It is typically used for testing purposes or to retrieve
information from web sites._
```{r badges, results='asis', echo=FALSE, cache=FALSE}
hrbrpkghelpr::stinking_badges()
```
Tools are provided to work with this library at a higher level than provided by
the exposed 'Java' libraries in the [`htmlunitjars`](https://gitlab.com/hrbrmstr/htmlunitjars)
package.
```{r description, results='asis', echo=FALSE, cache=FALSE}
hrbrpkghelpr::yank_title_and_description()
```
## What's Inside The Tin
@ -73,17 +62,13 @@ The following functions are implemented:
## Installation
```{r eval=FALSE}
install.packages(c("htmlunitjars", "htmlunit"), repos = "https://cinc.rud.is", type="source")
```
```{r message=FALSE, warning=FALSE, error=FALSE, include=FALSE}
options(width=120)
```{r install-ex, results='asis', echo=FALSE, cache=FALSE}
hrbrpkghelpr::install_block()
```
## Usage
```{r message=FALSE, warning=FALSE, error=FALSE}
```{r cache=FALSE}
library(htmlunit)
library(tidyverse) # for some data ops; not req'd for pkg
@ -96,7 +81,7 @@ Something `xml2::read_html()` cannot do, read the table from <https://hrbrmstr.g
![](man/figures/test-url-table.png)
```{r}
```{r ex1}
test_url <- "https://hrbrmstr.github.io/htmlunitjars/index.html"
pg <- xml2::read_html(test_url)
@ -108,7 +93,7 @@ html_table(pg)
But, `hu_read_html()` can!
```{r}
```{r ex2}
pg <- hu_read_html(test_url)
html_table(pg)
@ -120,8 +105,12 @@ All without needing a separate Selenium or Splash server instance.
We can also get a HAR-like content + metadata dump:
```{r}
(xdf <- wc_inspect("https://rud.is/b"))
```{r ex3}
xdf <- wc_inspect("https://rstudio.com")
colnames(xdf)
select(xdf, method, url, status_code, content_length, load_time)
group_by(xdf, content_type) %>%
summarise(
@ -132,8 +121,8 @@ group_by(xdf, content_type) %>%
### DSL
```{r}
wc <- web_client()
```{r ex4}
wc <- web_client(emulate = "chrome")
wc %>% wc_browser_info()
@ -161,7 +150,7 @@ wc %>%
Handy function to get rendered plain text for text mining:
```{r}
```{r ex5}
wc %>%
wc_render("text") %>%
substr(1, 300) %>%
@ -176,5 +165,5 @@ cloc::cloc_pkg_md()
## Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md).
Please note that this project is released with a Contributor Code of Conduct.
By participating in this project you agree to abide by its terms.

314
README.md

@ -1,9 +1,18 @@
[![Travis-CI Build
[![Project Status: Active – The project has reached a stable, usable
state and is being actively
developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![Signed
by](https://img.shields.io/badge/Keybase-Verified-brightgreen.svg)](https://keybase.io/hrbrmstr)
![Signed commit
%](https://img.shields.io/badge/Signed_Commits-76.2%25-lightgrey.svg)
[![Linux build
Status](https://travis-ci.org/hrbrmstr/htmlunit.svg?branch=master)](https://travis-ci.org/hrbrmstr/htmlunit)
[![Coverage
Status](https://img.shields.io/codecov/c/github/hrbrmstr/htmlunit/master.svg)](https://codecov.io/github/hrbrmstr/htmlunit?branch=master)
[![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/htmlunit)](https://cran.r-project.org/package=htmlunit)
Status](https://codecov.io/gh/hrbrmstr/htmlunit/branch/master/graph/badge.svg)](https://codecov.io/gh/hrbrmstr/htmlunit)
![Minimal R
Version](https://img.shields.io/badge/R%3E%3D-3.2.0-blue.svg)
![License](https://img.shields.io/badge/License-Apache-blue.svg)
# htmlunit
@ -11,7 +20,7 @@ Tools to Scrape Dynamic Web Content via the ‘HtmlUnit’ Java Library
## Description
`HtmlUnit` (<http://htmlunit.sourceforge.net/>) is *a “‘GUI’-Less
‘HtmlUnit’ (<https://htmlunit.sourceforge.net/>) is a “‘GUI’-Less
browser for ‘Java’ programs”. It models ‘HTML’ documents and provides an
‘API’ that allows one to invoke pages, fill out forms, click links and
more just like one does in a “normal” browser. The library has fairly
@ -19,11 +28,9 @@ good and constantly improving ‘JavaScript’ support and is able to work
even with quite complex ‘AJAX’ libraries, simulating ‘Chrome’, ‘Firefox’
or ‘Internet Explorer’ depending on the configuration used. It is
typically used for testing purposes or to retrieve information from web
sites.*
Tools are provided to work with this library at a higher level than
provided by the exposed ‘Java’ libraries in the
[`htmlunitjars`](https://gitlab.com/hrbrmstr/htmlunitjars) package.
sites. Tools are provided to work with this library at a higher level
than provided by the exposed ‘Java’ libraries in the ‘htmlunitjars’
package.
## What’s Inside The Tin
@ -96,15 +103,27 @@ The following functions are implemented:
### Content++
- `wc_inspect`: Perform a “Developer Tools”-like Network Inspection of
a
URL
a URL
## Installation
``` r
install.packages(c("htmlunitjars", "htmlunit"), repos = "https://cinc.rud.is", type="source")
install.packages("htmlunit", repos = "https://cinc.rud.is")
# or
remotes::install_git("https://git.rud.is/hrbrmstr/htmlunit.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/htmlunit")
# or
remotes::install_gitlab("hrbrmstr/htmlunit")
# or
remotes::install_bitbucket("hrbrmstr/htmlunit")
# or
remotes::install_github("hrbrmstr/htmlunit")
```
NOTE: To use the ‘remotes’ install options you will need to have the
[{remotes} package](https://github.com/r-lib/remotes) installed.
## Usage
``` r
@ -113,7 +132,7 @@ library(tidyverse) # for some data ops; not req'd for pkg
# current verison
packageVersion("htmlunit")
## [1] '0.2.0'
## [1] '0.3.0'
```
Something `xml2::read_html()` cannot do, read the table from
@ -152,44 +171,221 @@ All without needing a separate Selenium or Splash server instance.
We can also get a HAR-like content + metadata dump:
``` r
(xdf <- wc_inspect("https://rud.is/b"))
## # A tibble: 55 x 9
## method url status_code message content content_length content_type load_time headers
## <chr> <chr> <int> <chr> <chr> <dbl> <chr> <dbl> <I(list>
## 1 GET https://rud.is/b 301 Moved Pe… "<html>\r\n<head><ti 162 text/html 113 <tibble
## 2 GET https://rud.is/b/ 200 OK "<!-- This page is c… 10974 text/html 29 <tibble…
## 3 GET https://rud.is/b/… 200 OK "// Source: wp-inclu… 4426 application/… 29 <tibble
## 4 GET https://rud.is/b/… 200 OK ".wp-block-audio fig… 4320 text/css 21 <tibble
## 5 GET https://rud.is/b/… 200 OK "/* http://prismjs.c… 1601 text/css 19 <tibble
## 6 GET https://rud.is/b/… 200 OK ".wp_syntax {\n\tcol… 820 text/css 18 <tibble
## 7 GET https://rud.is/b/… 200 OK "@media print{body{b… 338 text/css 18 <tibble
## 8 GET https://rud.is/b/… 200 OK ".row-fluid{width:10… 2491 text/css 19 <tibble
## 9 GET https://rud.is/b/… 200 OK "/*! normalize.css v… 850 text/css 21 <tibble
## 10 GET https://rud.is/b/… 200 OK "@font-face{font-fam… 1965 text/css 20 <tibble
## # … with 45 more rows
xdf <- wc_inspect("https://rstudio.com")
colnames(xdf)
## [1] "method" "url" "status_code" "message" "content" "content_length"
## [7] "content_type" "load_time" "headers"
select(xdf, method, url, status_code, content_length, load_time)
```
<div class="kable-table">
| method | url | status\_code | content\_length | load\_time |
| :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -----------: | --------------: | ---------: |
| GET | <https://rstudio.com/> | 302 | 154 | 212 |
| GET | <https://www.rstudio.com/> | 200 | 125444 | 296 |
| GET | <https://www.rstudio.com/wp-includes/js/wp-emoji-release.min.js?ver=5.1.1> | 200 | 4426 | 50 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/LayerSlider/static/layerslider/css/layerslider.css?ver=6.8.2> | 200 | 4193 | 177 |
| GET | <https://fonts.googleapis.com/css?family=Lato:100,300,regular,700,900%7COpen+Sans:300%7CIndie+Flower:regular%7COswald:300,regular,700&subset=latin%2Clatin-ext> | 200 | 820 | 145 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/swiftype-search/assets/autocomplete.css?ver=5.1.1> | 200 | 1306 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/font-awesome-4-menus/css/font-awesome.min.css?ver=4.7.0> | 200 | 7102 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/revslider/public/assets/css/settings.css?ver=5.4.8.3> | 200 | 9680 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/rotatingtweets/css/style.css?ver=5.1.1> | 200 | 1001 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/wp-downloadmanager/download-css.css?ver=1.68.3> | 200 | 271 | 19 |
| GET | <https://fonts.googleapis.com/css?family=Source+Sans+Pro:300%7CSource+Sans+Pro:200&subset=latin> | 200 | 539 | 36 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/css/style.min.css?ver=5.9> | 200 | 26614 | 48 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/ekYDNiJzrjUc/bZpBkBxfMOaO.css?ver=2.2.3> | 200 | 1008 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-includes/js/jquery/jquery.js?ver=1.12.4> | 200 | 34003 | 29 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1> | 200 | 4016 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/rotatingtweets/js/jquery.cycle.all.min.js?ver=5.1.1> | 200 | 7767 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/rotatingtweets/js/rotating_tweet.js?ver=1.9.8> | 200 | 3337 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/wp-google-analytics-events/js/ga-scroll-events.js?ver=2.5.3> | 200 | 1558 | 20 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/LayerSlider/static/layerslider/js/greensock.js?ver=1.19.0> | 200 | 39897 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/LayerSlider/static/layerslider/js/layerslider.kreaturamedia.jquery.js?ver=6.8.2> | 200 | 46346 | 28 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/LayerSlider/static/layerslider/js/layerslider.transitions.js?ver=6.8.2> | 200 | 3446 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/swiftype-search/assets/install_swiftype.min.js?ver=5.1.1> | 200 | 36696 | 29 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.tools.min.js?ver=5.4.8.3> | 200 | 38549 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.revolution.min.js?ver=5.4.8.3> | 200 | 18230 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/revslider-whiteboard-addon/public/assets/js/revolution.addon.whiteboard.min.js?ver=1.0.6> | 200 | 2952 | 23 |
| GET | <https://cdn.segment.com/analytics.js/v1/DqzuXuDtDnYU8hFgwrVvXcplzLpXEAh2/analytics.min.js> | 200 | 54922 | 213 |
| GET | <https://js.driftt.com/include/1566660300000/w9tizmx5avtp.js> | 200 | 44081 | 205 |
| GET | <https://www.google-analytics.com/analytics.js> | 200 | 17803 | 128 |
| GET | <https://www.google-analytics.com/r/collect?v=1&_v=j79&a=892294198&t=pageview&_s=1&dl=https%3A%2F%2Fwww.rstudio.com%2F&ul=en-us&de=UTF-8&dt=Open%20source%20and%20enterprise-ready%20professional%20software%20for%20data%20science%20-%20RStudio&sd=24-bit&sr=1024x768&vp=1256x605&je=0&_u=IEBAAEQ~&jid=1516485446&gjid=129766554&cid=201807819.1566660029&tid=UA-20375833-3&_gid=1401481287.1566660029&_r=1&z=1859400736> | 302 | 418 | 37 |
| GET | <https://stats.g.doubleclick.net/r/collect?v=1&aip=1&t=dc&_r=3&tid=UA-20375833-3&cid=201807819.1566660029&jid=1516485446&_gid=1401481287.1566660029&gjid=129766554&_v=j79&z=1859400736> | 200 | 35 | 167 |
| GET | <https://x.clearbitjs.com/v1/pk_60c5aa2221e3c03eca10fb6876aa6df7/clearbit.js> | 200 | 86568 | 382 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/03/RStudio-Logo-Blue-Gray-125.png> | 200 | 8978 | 33 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2016/09/RStudio-Logo-Blue-Gray-125.png> | 200 | 8978 | 22 |
| GET | <https://fonts.googleapis.com/css?family=Source+Sans+Pro:900%2C600%2C400> | 200 | 626 | 42 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/05/blue-hex-hero-darker.png> | 200 | 210808 | 50 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/05/RSP-bg.png> | 200 | 2486 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/05/RSP-Screenshot-web.png> | 200 | 236779 | 35 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/01/favIcon114.png> | 200 | 2141 | 61 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/06/connect-icon.png> | 200 | 7724 | 30 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/06/icon-rspm-1.png> | 200 | 27867 | 41 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/07/2020-logo.png> | 200 | 41848 | 22 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/08/so-logo.png> | 200 | 19112 | 23 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2019/06/professional-fans.jpg> | 200 | 59772 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2014/05/logo-white@2x.png> | 200 | 9205 | 19 |
| GET | <http://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/2014/03/GitHub-Mark-Light-32px.png> | 200 | 1571 | 19 |
| GET | <https://fonts.googleapis.com/css?family=Roboto+Condensed%3A300%2C300i%2C400%2C400i%2C700%2C700i%7CRoboto%3A300%2C300i%2C400%2C400i%2C500%2C500i%2C700%2C700i&ver=5.1.1> | 200 | 1296 | 48 |
| GET | <https://fonts.googleapis.com/css?family=Open+Sans%3A400%2C400i%2C700%2C700i&ver=5.1.1> | 200 | 702 | 37 |
| GET | <https://fonts.googleapis.com/css?family=Source+Code+Pro&ver=5.1.1> | 200 | 467 | 39 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-includes/css/dashicons.min.css?ver=5.1.1> | 200 | 28665 | 31 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/wordpress-popup/assets/css/front.min.css?ver=3.0.7> | 200 | 12867 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-includes/js/underscore.min.js?ver=1.8.3> | 200 | 5722 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/wordpress-popup/assets/js/front.min.js?ver=1.1> | 200 | 19074 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/wp-discourse/js/load-comments.js?ver=1.8.7> | 200 | 318 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-includes/js/comment-reply.min.js?ver=5.1.1> | 200 | 1093 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/isotope.js?ver=3.0.4> | 200 | 9861 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.infinitescroll.js?ver=2.1> | 200 | 11994 | 18 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-core/js/min/avada-faqs.js?ver=1> | 200 | 373 | 35 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/modernizr.js?ver=3.3.1> | 200 | 5166 | 22 |
| GET | <https://fonts.googleapis.com/css?family=Open+Sans:400,800,300,700,600> | 200 | 712 | 45 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.fitvids.js?ver=1.1> | 200 | 793 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/fusion-video-general.js?ver=1> | 200 | 1851 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.ilightbox.js?ver=2.2.3> | 200 | 25482 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.mousewheel.js?ver=3.0.6> | 200 | 488 | 20 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-lightbox.js?ver=1> | 200 | 1859 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/imagesLoaded.js?ver=3.1.8> | 200 | 2259 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/packery.js?ver=2.0.0> | 200 | 4195 | 19 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-core/js/min/avada-portfolio.js?ver=1> | 200 | 2934 | 51 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/cssua.js?ver=2.1.28> | 200 | 1481 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.waypoints.js?ver=2.0.3> | 200 | 2419 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-waypoints.js?ver=1> | 200 | 267 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-animations.js?ver=1> | 200 | 477 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/library/jquery.countTo.js?ver=1> | 200 | 430 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.appear.js?ver=1> | 200 | 1331 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-counters-box.js?ver=1> | 200 | 441 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/bootstrap.transition.js?ver=3.3.6> | 200 | 378 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/bootstrap.tab.js?ver=3.1.1> | 200 | 719 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-tabs.js?ver=1> | 200 | 1154 | 18 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-recent-posts.js?ver=1> | 200 | 1253 | 20 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/library/Chart.js?ver=2.7.1> | 200 | 46447 | 30 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-chart.js?ver=1> | 200 | 1673 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-flip-boxes.js?ver=1> | 200 | 413 | 28 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-syntax-highlighter.js?ver=1> | 200 | 707 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-gallery.js?ver=1> | 200 | 499 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.easyPieChart.js?ver=2.1.7> | 200 | 1541 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-counters-circle.js?ver=1> | 200 | 921 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/library/jquery.event.move.js?ver=2.0> | 200 | 1964 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-image-before-after.js?ver=1.0> | 200 | 925 | 28 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-column-bg-image.js?ver=1> | 200 | 536 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-equal-heights.js?ver=1> | 200 | 477 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-column.js?ver=1> | 200 | 350 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-content-boxes.js?ver=1> | 200 | 848 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/bootstrap.collapse.js?ver=3.1.1> | 200 | 1157 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-toggles.js?ver=1> | 200 | 839 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/library/jquery.countdown.js?ver=1.0> | 200 | 1054 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-countdown.js?ver=1> | 200 | 300 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-events.js?ver=1> | 200 | 1138 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-title.js?ver=1> | 200 | 333 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.fade.js?ver=1> | 200 | 448 | 18 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.requestAnimationFrame.js?ver=1> | 200 | 341 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/fusion-parallax.js?ver=1> | 200 | 2476 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/fusion-video-bg.js?ver=1> | 200 | 1969 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-container.js?ver=1> | 200 | 1953 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.cycle.js?ver=3.0.3> | 200 | 7568 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-testimonials.js?ver=1> | 200 | 433 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.fusion_maps.js?ver=2.2.2> | 200 | 1950 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-google-map.js?ver=1> | 200 | 221 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/bootstrap.modal.js?ver=3.1.1> | 200 | 1317 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-modal.js?ver=1> | 200 | 1183 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-progress.js?ver=1> | 200 | 356 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/vimeoPlayer.js?ver=2.2.1> | 200 | 5410 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-builder/assets/js/min/general/fusion-video.js?ver=1> | 200 | 444 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.hoverintent.js?ver=1> | 200 | 463 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-vertical-menu-widget.js?ver=1> | 200 | 461 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/lazysizes.js?ver=4.1.5> | 200 | 3181 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/bootstrap.tooltip.js?ver=3.3.5> | 200 | 3899 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/bootstrap.popover.js?ver=3.3.5> | 200 | 740 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.carouFredSel.js?ver=6.2.1> | 200 | 13663 | 29 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.easing.js?ver=1.3> | 200 | 807 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.flexslider.js?ver=2.2.2> | 200 | 6625 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.hoverflow.js?ver=1> | 200 | 336 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.placeholder.js?ver=2.0.7> | 200 | 874 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/library/jquery.touchSwipe.js?ver=1.6.6> | 200 | 3645 | 28 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-alert.js?ver=1> | 200 | 131 | 29 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-carousel.js?ver=1> | 200 | 1152 | 113 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-flexslider.js?ver=1> | 200 | 1092 | 27 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-popover.js?ver=1> | 200 | 192 | 20 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-tooltip.js?ver=1> | 200 | 442 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-sharing-box.js?ver=1> | 200 | 223 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-blog.js?ver=1> | 200 | 2292 | 17 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-button.js?ver=1> | 200 | 170 | 25 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-general-global.js?ver=1> | 200 | 286 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-header.js?ver=5.9> | 200 | 3983 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-menu.js?ver=5.9> | 200 | 6299 | 18 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-scroll-to-anchor.js?ver=1> | 200 | 1426 | 20 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/includes/lib/assets/min/js/general/fusion-responsive-typography.js?ver=1> | 200 | 662 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/library/bootstrap.scrollspy.js?ver=3.3.2> | 200 | 1060 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-comments.js?ver=5.9> | 200 | 472 | 32 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-general-footer.js?ver=5.9> | 200 | 352 | 18 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-quantity.js?ver=5.9> | 200 | 663 | 17 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-scrollspy.js?ver=5.9> | 200 | 217 | 24 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-select.js?ver=5.9> | 200 | 231 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-sidebars.js?ver=5.9> | 200 | 685 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/library/jquery.sticky-kit.js?ver=5.9> | 200 | 1210 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-tabs-widget.js?ver=5.9> | 200 | 233 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/library/jquery.toTop.js?ver=1.2> | 200 | 582 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-to-top.js?ver=5.9> | 200 | 242 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-drop-down.js?ver=5.9> | 200 | 909 | 21 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-rev-styles.js?ver=5.9> | 200 | 539 | 22 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/library/jquery.elasticslider.js?ver=5.9> | 200 | 1627 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/themes/Avada/assets/min/js/general/avada-elastic-slider.js?ver=5.9> | 200 | 219 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/plugins/fusion-core/js/min/avada-fusion-slider.js?ver=1> | 200 | 3974 | 26 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-content/uploads/ekYDNiJzrjUc/wlWnwGTPbZAG.js?ver=2.2.3> | 200 | 6274 | 23 |
| GET | <https://442r58kc8ke1y38f62ssb208-wpengine.netdna-ssl.com/wp-includes/js/wp-embed.min.js?ver=5.1.1> | 200 | 753 | 20 |
| GET | <https://s.swiftypecdn.com/install/v2/st.js> | 200 | 118603 | 173 |
| GET | <https://s.swiftypecdn.com/cc.js> | 200 | 237 | 22 |
| GET | <https://ga.clearbit.com/v1/ga.js?authorization=pk_60c5aa2221e3c03eca10fb6876aa6df7> | 200 | 2078 | 261 |
| GET | <https://www.google-analytics.com/collect?v=1&_v=j79&a=892294198&t=event&ni=1&_s=2&dl=https%3A%2F%2Fwww.rstudio.com%2F&ul=en-us&de=UTF-8&dt=Open%20source%20and%20enterprise-ready%20professional%20software%20for%20data%20science%20-%20RStudio&sd=24-bit&sr=1024x768&vp=1256x605&je=0&ec=Clearbit&ea=Enriched&el=Clearbit%20Enriched&_u=aGBAAEQC~&jid=&gjid=&cid=201807819.1566660029&tid=UA-20375833-3&_gid=1401481287.1566660029&cd5=boB%20%F0%9F%87%B7udis&cd6=rud.is&cd12=private&cd7=Technology%2CInternet%2CB2B%2CB2C&cd19=google_apps%2Cnginx%2Cwordpress&cd8=Information%20Technology&cd9=Software%20%26%20Services&cd10=Internet%20Software%20%26%20Services&cd11=Internet%20Software%20%26%20Services&cd17=GB&cd15=Whitstable&cd14=1376792&z=1471331913> | 200 | 35 | 30 |
| POST | <https://api.segment.io/v1/p> | 200 | 21 | 464 |
| POST | <https://x.clearbit.com/v1/p> | 200 | 42 | 315 |
| POST | <https://api.segment.io/v1/t> | 200 | 21 | 103 |
| GET | <https://s.swiftypecdn.com/install/v2/config/t2KJMr9_77QjXsTW-NMw.json> | 200 | 4061 | 296 |
| GET | <https://s.swiftypecdn.com/assets/new_embed-20cee04df5c6e7e2687598f076a0147d.css> | 200 | 33977 | 16 |
| GET | <https://www.rstudio.com/wp-json/wp-discourse/v1/discourse-comments?post_id=undefined> | 200 | 2 | 48 |
| GET | <https://www.rstudio.com/wp-content/plugins/revslider/public/assets/js/extensions/revolution.extension.slideanims.min.js?version=5.4.8> | 200 | 6920 | 50 |
| GET | <https://www.rstudio.com/wp-content/plugins/revslider/public/assets/js/extensions/revolution.extension.actions.min.js?version=5.4.8> | 200 | 2576 | 39 |
| GET | <https://www.rstudio.com/wp-content/plugins/revslider/public/assets/js/extensions/revolution.extension.layeranimation.min.js?version=5.4.8> | 200 | 14393 | 43 |
| GET | <https://www.rstudio.com/wp-content/plugins/revslider/public/assets/js/extensions/revolution.extension.navigation.min.js?version=5.4.8> | 200 | 7063 | 46 |
| GET | <https://www.rstudio.com/wp-content/plugins/revslider/public/assets/js/extensions/revolution.extension.parallax.min.js?version=5.4.8> | 200 | 3257 | 43 |
</div>
``` r
group_by(xdf, content_type) %>%
summarise(
total_size = sum(content_length),
total_load_time = sum(load_time)/1000
)
## # A tibble: 5 x 3
## content_type total_size total_load_time
## <chr> <dbl> <dbl>
## 1 application/javascript 146930 0.965
## 2 application/x-javascript 9959 0.226
## 3 image/webp 33686 0.225
## 4 text/css 43913 0.348
## 5 text/html 11136 0.142
```
<div class="kable-table">
| content\_type | total\_size | total\_load\_time |
| :--------------------- | ----------: | ----------------: |
| application/javascript | 673448 | 3.901 |
| application/json | 4147 | 1.226 |
| image/gif | 70 | 0.197 |
| image/jpeg | 59772 | 0.024 |
| image/png | 577497 | 0.376 |
| text/css | 131846 | 0.825 |
| text/html | 126016 | 0.545 |
| text/javascript | 191565 | 0.536 |
</div>
### DSL
``` r
wc <- web_client()
wc <- web_client(emulate = "chrome")
wc %>% wc_browser_info()
## < Netscape / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36 / en-US >
## < Netscape / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 / en-US >
wc <- web_client()
@ -201,27 +397,27 @@ wc %>%
wc_html_nodes("a") %>%
sapply(wc_html_text, trim = TRUE) %>%
head(10)
## [1] "Skip to main content" "" "1-844-USA-GOV1"
## [4] "All Topics and Services" "Branches of the U.S. Government" "Budget of the U.S. Government"
## [7] "Data and Statistics about the U.S." "History and Historical Documents" "American Flag"
## [10] "Learn About Life in the U.S."
## [1] "Skip to main content" "" "Español"
## [4] "1-844-USA-GOV1" "All Topics and Services" "About the U.S."
## [7] "American Flag" "Branches of the U.S. Government" "Budget of the U.S. Government"
## [10] "Data and Statistics about the U.S."
wc %>%
wc_html_nodes(xpath=".//a") %>%
sapply(wc_html_text, trim = TRUE) %>%
head(10)
## [1] "Skip to main content" "" "1-844-USA-GOV1"
## [4] "All Topics and Services" "Branches of the U.S. Government" "Budget of the U.S. Government"
## [7] "Data and Statistics about the U.S." "History and Historical Documents" "American Flag"
## [10] "Learn About Life in the U.S."
## [1] "Skip to main content" "" "Español"
## [4] "1-844-USA-GOV1" "All Topics and Services" "About the U.S."
## [7] "American Flag" "Branches of the U.S. Government" "Budget of the U.S. Government"
## [10] "Data and Statistics about the U.S."
wc %>%
wc_html_nodes(xpath=".//a") %>%
sapply(wc_html_attr, "href") %>%
head(10)
## [1] "#skiptarget" "/" "/phone" "/#tpcs"
## [5] "/branches-of-government" "/budget" "/statistics" "/history"
## [9] "/flag" "/life-in-the-us"
## [1] "#content" "/" "/espanol/" "/phone"
## [5] "/#tpcs" "#" "/flag" "/branches-of-government"
## [9] "/budget" "/statistics"
```
Handy function to get rendered plain text for text mining:
@ -231,7 +427,7 @@ wc %>%
wc_render("text") %>%
substr(1, 300) %>%
cat()
## Official Guide to Government Information and Services | USAGov
## USA.gov: The U.S. Government's Official Web Portal | USAGov
## Skip to main content
##
##
@ -264,21 +460,21 @@ wc %>%
## Benefits, Grants, Loans
##
##
## Government Agencies
## Government Agencies and
```
### htmlunit Metrics
| Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) |
| :---- | -------: | ---: | --: | ---: | ----------: | ---: | -------: | ---: |
| R | 14 | 0.78 | 351 | 0.77 | 193 | 0.73 | 372 | 0.81 |
| Rmd | 1 | 0.06 | 38 | 0.08 | 55 | 0.21 | 87 | 0.19 |
| Maven | 1 | 0.06 | 30 | 0.07 | 0 | 0.00 | 1 | 0.00 |
| Java | 1 | 0.06 | 28 | 0.06 | 11 | 0.04 | 1 | 0.00 |
| make | 1 | 0.06 | 10 | 0.02 | 4 | 0.02 | 0 | 0.00 |
| R | 14 | 0.78 | 351 | 0.76 | 193 | 0.74 | 372 | 0.83 |
| Rmd | 1 | 0.06 | 41 | 0.09 | 52 | 0.20 | 76 | 0.17 |
| Maven | 1 | 0.06 | 30 | 0.06 | 0 | 0.00 | 1 | 0.00 |
| Java | 1 | 0.06 | 28 | 0.06 | 11 | 0.04 | 0 | 0.00 |
| make | 1 | 0.06 | 14 | 0.03 | 4 | 0.02 | 0 | 0.00 |
## Code of Conduct
Please note that this project is released with a [Contributor Code of
Conduct](CONDUCT.md). By participating in this project you agree to
abide by its terms.
Please note that this project is released with a Contributor Code of
Conduct. By participating in this project you agree to abide by its
terms.

BIN
inst/java/htmlunit-1.0-SNAPSHOT.jar

Binary file not shown.

4
java/htmlunit/Makefile

@ -1,14 +1,18 @@
.PHONY: clean pkg deps run
pkg:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
mvn --quiet package
cp target/htmlunit-1.0-SNAPSHOT.jar ../../inst/java
clean:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
mvn clean
deps:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
mvn dependency:copy-dependencies -DoutputDirectory=deps
new:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
mvn archetype:generate -DgroupId=is.rud.htmlunit -DartifactId=htmlunit -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

BIN
java/htmlunit/deps/commons-text-1.7.jar

Binary file not shown.

BIN
java/htmlunit/deps/dec-0.1.2.jar

Binary file not shown.

BIN
java/htmlunit/deps/htmlunit-2.36.0.jar

Binary file not shown.

BIN
java/htmlunit/deps/htmlunit-core-js-2.36.0.jar

Binary file not shown.

BIN
java/htmlunit/deps/htmlunit-cssparser-1.5.0.jar

Binary file not shown.

BIN
java/htmlunit/deps/httpclient-4.5.9.jar

Binary file not shown.

BIN
java/htmlunit/deps/httpmime-4.5.9.jar

Binary file not shown.

BIN
java/htmlunit/deps/jetty-client-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/jetty-http-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/jetty-io-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/jetty-util-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/jetty-xml-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/neko-htmlunit-2.36.0.jar

Binary file not shown.

BIN
java/htmlunit/deps/websocket-api-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/websocket-client-9.4.20.v20190813.jar

Binary file not shown.

BIN
java/htmlunit/deps/websocket-common-9.4.20.v20190813.jar

Binary file not shown.

2
java/htmlunit/pom.xml

@ -25,7 +25,7 @@
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.35.0</version>
<version>2.36.0</version>
</dependency>
</dependencies>
</project>

1
java/htmlunit/src/main/java/is/rud/htmlunit/App.java

@ -24,7 +24,6 @@ public static List<WebResponse> getRequestsFor(String url, long jsDelay) throws
@Override
public WebResponse getResponse(final WebRequest request) throws IOException {
final WebResponse response = super.getResponse(request);
// list.add(request.getHttpMethod() + " " + request.getUrl());
list.add(response);
return response;
}

BIN
java/htmlunit/target/classes/is/rud/htmlunit/App$1.class

Binary file not shown.

BIN
java/htmlunit/target/classes/is/rud/htmlunit/App.class

Binary file not shown.

BIN
java/htmlunit/target/htmlunit-1.0-SNAPSHOT.jar

Binary file not shown.
Loading…
Cancel
Save