{
  "_id": "6a141b6aacfb0bcc41d3d5d4",
  "Package": "Goodreader",
  "Title": "Scrape and Analyze 'Goodreads' Book Data",
  "Version": "0.1.2",
  "Authors@R": "person(\"Chao Liu\", email = \"chaoliu@cedarville.edu\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0000-0002-9979-8272\"))",
  "Description": "A comprehensive toolkit for scraping and analyzing book\ndata from <https://www.goodreads.com/>. This package provides\nfunctions to search for books, scrape book details and reviews,\nperform sentiment analysis on reviews, and conduct topic\nmodeling. It's designed for researchers, data analysts, and\nbook enthusiasts who want to gain insights from 'Goodreads'\ndata.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/chaoliu-cl/Goodreader,\nhttp://liu-chao.site/Goodreader/",
  "BugReports": "https://github.com/chaoliu-cl/Goodreader/issues",
  "Config/pak/sysreqs": "cmake make libgsl0-dev libicu-dev libuv1-dev\nlibxml2-dev libssl-dev",
  "Repository": "https://chaoliu-cl.r-universe.dev",
  "Date/Publication": "2025-05-07 04:10:18 UTC",
  "RemoteUrl": "https://github.com/chaoliu-cl/goodreader",
  "RemoteRef": "HEAD",
  "RemoteSha": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-25 09:46:41 UTC",
    "User": "root"
  },
  "Author": "Chao Liu [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-9979-8272>)",
  "Maintainer": "Chao Liu <chaoliu@cedarville.edu>",
  "MD5sum": "50f05fabe2294784e977c8054fe2407c",
  "_user": "chaoliu-cl",
  "_type": "src",
  "_file": "Goodreader_0.1.2.tar.gz",
  "_fileid": "9c7b7bbf6fed7668e13d8eb74684e8e5bf5f9fe36de91445ee09d2bf31e6b1ab",
  "_filesize": 5380080,
  "_sha256": "9c7b7bbf6fed7668e13d8eb74684e8e5bf5f9fe36de91445ee09d2bf31e6b1ab",
  "_created": "2026-05-25T09:46:41.000Z",
  "_published": "2026-05-25T09:50:34.069Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77691019330,
      "time": 191,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7195832124"
    },
    {
      "job": 77691019272,
      "time": 191,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7195832291"
    },
    {
      "job": 77691019243,
      "time": 140,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7195819134"
    },
    {
      "job": 77691019284,
      "time": 126,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7195815609"
    },
    {
      "job": 77690538617,
      "time": 216,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7195781221"
    },
    {
      "job": 77691019233,
      "time": 148,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7195821261"
    },
    {
      "job": 77691019403,
      "time": 147,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7195821012"
    },
    {
      "job": 77691019391,
      "time": 139,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7195819221"
    },
    {
      "job": 77691019441,
      "time": 133,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7195817470"
    }
  ],
  "_buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/chaoliu-cl/goodreader",
  "_commit": {
    "id": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
    "author": "Chao Liu <99229010+chaoliu-cl@users.noreply.github.com>",
    "committer": "Chao Liu <99229010+chaoliu-cl@users.noreply.github.com>",
    "message": "update paper files\n",
    "time": 1746591018
  },
  "_maintainer": {
    "name": "Chao Liu",
    "email": "chaoliu@cedarville.edu",
    "login": "chaoliu-cl",
    "orcid": "0000-0002-9979-8272",
    "description": "",
    "uuid": 99229010
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "cld2",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "httr",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rvest",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "tidytext",
      "role": "Imports"
    },
    {
      "package": "tm",
      "role": "Imports"
    },
    {
      "package": "topicmodels",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "wordcloud2",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "chaoliu-cl",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 1,
  "_contributors": [
    {
      "user": "chaoliu-cl",
      "count": 36,
      "uuid": 99229010
    }
  ],
  "_userbio": {
    "uuid": 99229010,
    "type": "user",
    "name": "Chao Liu"
  },
  "_downloads": {
    "count": 593,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/Goodreader"
  },
  "_devurl": "https://github.com/chaoliu-cl/goodreader",
  "_pkgdown": "http://liu-chao.site/Goodreader/",
  "_searchresults": 5,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/Goodreader.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/chaoliu-cl/goodreader",
  "_realowner": "chaoliu-cl",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2024-08-27"
    },
    {
      "version": "0.1.1",
      "date": "2024-08-30"
    },
    {
      "version": "0.1.2",
      "date": "2024-10-24"
    }
  ],
  "_exports": [
    "analyze_sentiment",
    "average_book_sentiment",
    "fit_lda",
    "gen_topic_clouds",
    "get_author_info",
    "get_book_ids",
    "get_book_summary",
    "get_format_info",
    "get_genres",
    "get_num_pages",
    "get_published_time",
    "get_rating_distribution",
    "model_topics",
    "plot_topic_heatmap",
    "plot_topic_prevalence",
    "plot_topic_terms",
    "preprocess_reviews",
    "scrape_books",
    "scrape_reviews",
    "search_goodreads",
    "sentiment_histogram",
    "sentiment_trend",
    "top_terms"
  ],
  "_help": [
    {
      "page": "analyze_sentiment",
      "title": "Perform sentiment analysis on book reviews with negation handling",
      "topics": [
        "analyze_sentiment"
      ]
    },
    {
      "page": "average_book_sentiment",
      "title": "Calculate average sentiment score per book",
      "topics": [
        "average_book_sentiment"
      ]
    },
    {
      "page": "fit_lda",
      "title": "Perform topic modeling on preprocessed reviews",
      "topics": [
        "fit_lda"
      ]
    },
    {
      "page": "gen_topic_clouds",
      "title": "Create word cloud for topics",
      "topics": [
        "gen_topic_clouds"
      ]
    },
    {
      "page": "get_author_info",
      "title": "Get Author Information from Goodreads",
      "topics": [
        "get_author_info"
      ]
    },
    {
      "page": "get_book_ids",
      "title": "Save Book IDs to a Text File",
      "topics": [
        "get_book_ids"
      ]
    },
    {
      "page": "get_book_summary",
      "title": "Get Book Summary from Goodreads",
      "topics": [
        "get_book_summary"
      ]
    },
    {
      "page": "get_format_info",
      "title": "Get Format Information from Goodreads",
      "topics": [
        "get_format_info"
      ]
    },
    {
      "page": "get_genres",
      "title": "Get Genres for Books from Goodreads",
      "topics": [
        "get_genres"
      ]
    },
    {
      "page": "get_num_pages",
      "title": "Get Number of Pages from Goodreads",
      "topics": [
        "get_num_pages"
      ]
    },
    {
      "page": "get_published_time",
      "title": "Get Published Time from Goodreads",
      "topics": [
        "get_published_time"
      ]
    },
    {
      "page": "get_rating_distribution",
      "title": "Get Rating Distribution from Goodreads",
      "topics": [
        "get_rating_distribution"
      ]
    },
    {
      "page": "model_topics",
      "title": "Analyze topics in Goodreads reviews",
      "topics": [
        "model_topics"
      ]
    },
    {
      "page": "plot_topic_heatmap",
      "title": "Visualize topic distribution",
      "topics": [
        "plot_topic_heatmap"
      ]
    },
    {
      "page": "plot_topic_prevalence",
      "title": "Visualize topic prevalence",
      "topics": [
        "plot_topic_prevalence"
      ]
    },
    {
      "page": "plot_topic_terms",
      "title": "Visualize top terms for each topic",
      "topics": [
        "plot_topic_terms"
      ]
    },
    {
      "page": "preprocess_reviews",
      "title": "Preprocess review text for topic modeling",
      "topics": [
        "preprocess_reviews"
      ]
    },
    {
      "page": "replace_special_chars",
      "title": "Replace special characters and remove non-ASCII characters",
      "topics": [
        "replace_special_chars"
      ]
    },
    {
      "page": "scrape_books",
      "title": "Scrape book details from Goodreads",
      "topics": [
        "scrape_books"
      ]
    },
    {
      "page": "scrape_reviews",
      "title": "Scrape book reviews from Goodreads",
      "topics": [
        "scrape_reviews"
      ]
    },
    {
      "page": "search_goodreads",
      "title": "Search Goodreads",
      "topics": [
        "search_goodreads"
      ]
    },
    {
      "page": "sentiment_histogram",
      "title": "Create a histogram of sentiment scores",
      "topics": [
        "sentiment_histogram"
      ]
    },
    {
      "page": "sentiment_trend",
      "title": "Plot sentiment trend over time",
      "topics": [
        "sentiment_trend"
      ]
    },
    {
      "page": "top_terms",
      "title": "Extract and print top terms for each topic",
      "topics": [
        "top_terms"
      ]
    }
  ],
  "_readme": "https://github.com/chaoliu-cl/goodreader/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "BH",
    "bslib",
    "cachem",
    "cld2",
    "cli",
    "cpp11",
    "curl",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httr",
    "isoband",
    "janeaustenr",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "lattice",
    "lifecycle",
    "lubridate",
    "magrittr",
    "Matrix",
    "memoise",
    "mime",
    "modeltools",
    "NLP",
    "openssl",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "rvest",
    "S7",
    "sass",
    "scales",
    "selectr",
    "slam",
    "SnowballC",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "tidytext",
    "timechange",
    "tinytex",
    "tm",
    "tokenizers",
    "topicmodels",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "wordcloud2",
    "xfun",
    "xml2",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "Intro_to_Goodreader.Rmd",
      "filename": "Intro_to_Goodreader.html",
      "title": "Goodreader Quick Start Guide",
      "engine": "knitr::knitr",
      "headings": [
        "Installing and loading the package",
        "Searching for Books on Goodreads",
        "Scrape book metadata and reviews",
        "Conduct sentiment analysis",
        "Perform topic modeling",
        "Other utility functions"
      ],
      "created": "2024-07-30 02:28:40",
      "modified": "2025-05-07 03:46:39",
      "commits": 5
    }
  ],
  "_score": 3.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "goodreader",
  "_universes": [
    "chaoliu-cl"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-25T09:49:23.000Z",
      "distro": "noble",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "7443175b09ef68b71fe15161cc078f8c31204d5098c420eea7e7e1ae91b338df",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-25T09:49:23.000Z",
      "distro": "noble",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "29be095c6053565234e63d39f11bb422634ddcf20679e40caacfa7fe8fa85f62",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-25T09:48:57.000Z",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "8fe4422aa398c6581ccd01f24874a18126715493c28f460e866145a3320d539e",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-25T09:48:39.000Z",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "4dea40ed71c29b37cfc2ede33a024fd6a2e0b4b3d0a6ea459c7b9f0343155b51",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-25T09:49:32.000Z",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "b1c5e4d7d279d25fd81e0a3af1da176fd14442035a0d77aad3c47d8fec9c0d0d",
      "status": "success",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-25T09:48:46.000Z",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "11dfccc3b038a6a65aaf95cc4162245fc8a26bb7e2919b854629a059745dfad9",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-25T09:48:19.000Z",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "0c4d7777071ac61526066038c2f7b7f1951bb07bdecfa91ea4f9d105e2b93558",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-25T09:48:22.000Z",
      "commit": "a66bda678a36830ef9b38926a7bb675eb1d379fe",
      "fileid": "72b8f68e7182263870ec4ae96a1a18b7950cbdaf5ab0ebda3a1ce13b5cf2809f",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/chaoliu-cl/actions/runs/26394093815"
    }
  ]
}