scrape-it
Version:
A Node.js scraper for humans.
124 lines • 4.34 kB
JSON
{
"name": "scrape-it",
"description": "A Node.js scraper for humans.",
"keywords": [
"scrape",
"it",
"a",
"scraping",
"module",
"for",
"humans"
],
"license": "MIT",
"version": "6.1.14",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": {
"test": "node test"
},
"author": "Ionică Bizău <bizauionica@gmail.com> (https://ionicabizau.net)",
"contributors": [
"ComFreek <comfreek@outlook.com> (https://github.com/ComFreek)",
"Jim Buck <jim@jimmyboh.com> (https://github.com/JimmyBoh)",
"Non <aomnonpn@gmail.com (https://github.com/fadingNA)"
],
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/IonicaBizau/scrape-it.git"
},
"bugs": {
"url": "https://github.com/IonicaBizau/scrape-it/issues"
},
"homepage": "https://github.com/IonicaBizau/scrape-it#readme",
"blah": {
"h_img": "https://i.imgur.com/j3Z0rbN.png",
"cli": "scrape-it-cli",
"description": [
"----",
"",
"<p align=\"center\">",
"Sponsored with :heart: by:",
"<br/><br/>",
"<h4 align='center'><a href='https://serpapi.com/?utm_source=scrape-it'>SerpApi.com</a></h4>",
"<a href='https://serpapi.com/?utm_source=scrape-it'><img title='SerpApi' src='https://i.imgur.com/JXqpoEE.png'/></a>",
"<br/>",
"<br/>",
"",
"<h4 align='center'><a href='https://talordata.com/?campaignid=6UNzOt6GVDjL96OF&utm_source=scrapeit&utm_term=scrapeit'>Talordata SERP API: Real-time, accurate search data to power every decision</a></h4>",
"",
"[](https://talordata.com/?campaignid=6UNzOt6GVDjL96OF&utm_source=scrapeit&utm_term=scrapeit)",
"",
"<br/>",
"<br/>",
"",
"<h4 align='center'><a href='https://www.rapidproxy.io/?ref=scrt'>Rapidproxy——Power your data collection and automation with 90M+ reliable residential proxies built for scale.</a></h4>",
"",
"[](https://www.rapidproxy.io/?ref=scrt)"
],
"installation": [
{
"h2": "FAQ"
},
{
"p": "Here are some frequent questions and their answers."
},
{
"h3": "1. How to parse scrape pages?"
},
{
"p": "`scrape-it` has only a simple request module for making requests. That means you cannot directly parse ajax pages with it, but in general you will have those scenarios:"
},
{
"ol": [
"**The ajax response is in JSON format.** In this case, you can make the request directly, without needing a scraping library.",
"**The ajax response gives you HTML back.** Instead of calling the main website (e.g. example.com), pass to `scrape-it` the ajax url (e.g. `example.com/api/that-endpoint`) and you will you will be able to parse the response",
"**The ajax request is so complicated that you don't want to reverse-engineer it.** In this case, use a headless browser (e.g. Google Chrome, Electron, PhantomJS) to load the content and then use the `.scrapeHTML` method from scrape it once you get the HTML loaded on the page."
]
},
{
"h3": "2. Crawling"
},
{
"p": "There is no fancy way to crawl pages with `scrape-it`. For simple scenarios, you can parse the list of urls from the initial page and then, using Promises, parse each page. Also, you can use a different crawler to download the website and then use the `.scrapeHTML` method to scrape the local files."
},
{
"h3": "3. Local files"
},
{
"p": "Use the `.scrapeHTML` to parse the HTML read from the local files using `fs.readFile`."
}
]
},
"dependencies": {
"assured": "^1.0.16",
"cheerio": "^1.1.0",
"cheerio-req": "^2.0.1",
"scrape-it-core": "^1.0.2"
},
"devDependencies": {
"@types/cheerio": "^1.0.0",
"@types/node": "^24.0.14",
"lien": "^4.0.0",
"tester": "^2.0.0",
"ts-node": "^10.9.2",
"typescript": "^5.8.3"
},
"files": [
"bin/",
"app/",
"lib/",
"dist/",
"src/",
"scripts/",
"resources/",
"menu/",
"cli.js",
"index.js",
"index.d.ts",
"package-lock.json",
"bloggify.js",
"bloggify.json",
"bloggify/"
]
}