UNPKG

scrape-it

Version:
124 lines 4.34 kB
{ "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>", "", "[![Talordata](https://i.imgur.com/OgBW0rH.jpeg)](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>", "", "[![RapidProxy Services](https://i.imgur.com/7s9xWtr.png)](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/" ] }