{"_id":"@bcoders.gr/eth-scrapper","_rev":"5-e971a266c883d26205c13ced1af0ff90","name":"@bcoders.gr/eth-scrapper","dist-tags":{"latest":"1.4.0"},"versions":{"1.0.0":{"name":"@bcoders.gr/eth-scrapper","version":"1.0.0","keywords":["etherscan","scraper","blockchain","ethereum","transactions","parallel","electron","web3","crypto"],"author":{"name":"bcoders.gr"},"license":"MIT","_id":"@bcoders.gr/eth-scrapper@1.0.0","maintainers":[{"name":"pagovitsa","email":"pagovitsa@gmail.com"},{"name":"badjunior91","email":"badjunior91@gmail.com"}],"homepage":"https://github.com/pagovitsa/eth-scrapper#readme","bugs":{"url":"https://github.com/pagovitsa/eth-scrapper/issues"},"dist":{"shasum":"fd39a4dd59daca8c74aab8ab0ad5207b08652f16","tarball":"https://registry.npmjs.org/@bcoders.gr/eth-scrapper/-/eth-scrapper-1.0.0.tgz","fileCount":11,"integrity":"sha512-7PuZ/ff0iDdBfNsrrtPJ2UqaBLS1N9PzEiCt8ihPsUkyffJAkeWzoP1hmNw+ShHnWO83qVI8CjtVqEl4DQ4LAw==","signatures":[{"sig":"MEUCIApeDzBfQiOliUSGnwZGi5IA/QIQDHjgeerOLqAcIJgtAiEA+kei2+abv2YRXJJC/HXK4LkHHaESkJKgQ/lDGQTQisI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114696},"main":"lib/index.js","type":"module","build":{"mac":{"icon":"assets/icon.icns","target":"dmg"},"win":{"icon":"assets/icon.ico","target":"nsis"},"appId":"com.yourcompany.etherscan-browser","files":["index.js","package.json"],"linux":{"icon":"assets/icon.png","target":"AppImage"},"directories":{"output":"dist"},"productName":"Etherscan Browser"},"exports":{".":{"import":"./lib/index.js"},"./scrapers":{"import":"./lib/scrapers/index.js"}},"gitHead":"97837dd5054f27f6fbc379cc97cc51ece35803c7","scripts":{"dev":"electron . --inspect=5858","test":"node example.js","build":"echo 'Build completed'","start":"node example.js","example":"node example.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"pagovitsa","actor":{"name":"pagovitsa","type":"user","email":"pagovitsa@gmail.com"},"email":"pagovitsa@gmail.com"},"repository":{"url":"git+https://github.com/pagovitsa/eth-scrapper.git","type":"git"},"_npmVersion":"11.4.1","description":"High-performance parallel Etherscan transaction scraper with Cloudflare handling","directories":{},"_nodeVersion":"22.16.0","dependencies":{"fs":"^0.0.1-security","cheerio":"^1.0.0-rc.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"electron":"^28.3.3","electron-builder":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eth-scrapper_1.0.0_1750224494210_0.357604906496918","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bcoders.gr/eth-scrapper","version":"1.1.0","keywords":["electron","scraper","etherscan","ethereum","blockchain","transactions","web-scraping","crypto"],"author":{"name":"bcoders.gr"},"license":"MIT","_id":"@bcoders.gr/eth-scrapper@1.1.0","maintainers":[{"name":"pagovitsa","email":"pagovitsa@gmail.com"},{"name":"badjunior91","email":"badjunior91@gmail.com"}],"homepage":"https://github.com/bcoders-gr/eth-scrapper#readme","bugs":{"url":"https://github.com/bcoders-gr/eth-scrapper/issues"},"dist":{"shasum":"bc7b3f4854c63f6ef5a7d26b1b862266e67daad0","tarball":"https://registry.npmjs.org/@bcoders.gr/eth-scrapper/-/eth-scrapper-1.1.0.tgz","fileCount":5,"integrity":"sha512-8R6bWfvAJyW7P/H1korYsE6tP3G2fxojP8nA3Y0MFZeP6V1a+7pofRYobCAE4HIf1IFv7pIwKGw0CkS32yS1TQ==","signatures":[{"sig":"MEUCIQCtGDVjgypHmTyxOz8+w9K91X0GmVp4hvewMbdyU9vJNgIgbcp3g848ZfF3EaFTsrkvbD+9ZyUxoUpo9hZhh0fshkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55633},"main":"index.js","type":"module","engines":{"node":">=16.0.0"},"scripts":{"dev":"electron . --dev","start":"electron .","prepublishOnly":"echo 'Publishing @bcoders.gr/eth-scrapper...'"},"_npmUser":{"name":"pagovitsa","actor":{"name":"pagovitsa","type":"user","email":"pagovitsa@gmail.com"},"email":"pagovitsa@gmail.com"},"repository":{"url":"git+https://github.com/bcoders-gr/eth-scrapper.git","type":"git"},"_npmVersion":"11.4.1","description":"Electron web scraper for Etherscan transactions - External and Internal transaction hash extractor","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eth-scrapper_1.1.0_1750225606383_0.9151094545368608","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bcoders.gr/eth-scrapper","version":"1.2.0","keywords":["electron","scraper","etherscan","ethereum","blockchain","transactions","web-scraping","crypto"],"author":{"name":"bcoders.gr"},"license":"MIT","_id":"@bcoders.gr/eth-scrapper@1.2.0","maintainers":[{"name":"pagovitsa","email":"pagovitsa@gmail.com"},{"name":"badjunior91","email":"badjunior91@gmail.com"}],"homepage":"https://github.com/pagovitsa/eth-scrapper#readme","bugs":{"url":"https://github.com/pagovitsa/eth-scrapper/issues"},"dist":{"shasum":"59b04b31a5fc19bb30b97487f08d7965f946ccac","tarball":"https://registry.npmjs.org/@bcoders.gr/eth-scrapper/-/eth-scrapper-1.2.0.tgz","fileCount":5,"integrity":"sha512-ur9uOxJyxa2q5GvHZTG1uxduxHQsd8o84H8cBz2NLaxlXgRXQRDL0X0HEPozb8QLpSoTzahu7aQwfmjdpExeeQ==","signatures":[{"sig":"MEUCIQCN/dw5qBIHln0VaxjY4NkWySW+v56RqALFgRDsQtOzbQIgRGXx66K8rup9nfCp6hjgLA1amcCsyCOEKKo7argHJDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55632},"main":"index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"e2a3d2a04dc7253a0196f9f4578ab036b3023ed8","scripts":{"dev":"electron . --dev","start":"electron .","prepublishOnly":"echo 'Publishing @bcoders.gr/eth-scrapper...'"},"_npmUser":{"name":"pagovitsa","actor":{"name":"pagovitsa","type":"user","email":"pagovitsa@gmail.com"},"email":"pagovitsa@gmail.com"},"repository":{"url":"git+https://github.com/pagovitsa/eth-scrapper.git","type":"git"},"_npmVersion":"11.4.1","description":"Electron web scraper for Etherscan transactions - External and Internal transaction hash extractor","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eth-scrapper_1.2.0_1750225955474_0.9153639018791377","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bcoders.gr/eth-scrapper","version":"1.3.0","keywords":["electron","scraper","etherscan","ethereum","blockchain","transactions","web-scraping","crypto"],"author":{"name":"bcoders.gr"},"license":"MIT","_id":"@bcoders.gr/eth-scrapper@1.3.0","maintainers":[{"name":"pagovitsa","email":"pagovitsa@gmail.com"},{"name":"badjunior91","email":"badjunior91@gmail.com"}],"homepage":"https://github.com/pagovitsa/eth-scrapper#readme","bugs":{"url":"https://github.com/pagovitsa/eth-scrapper/issues"},"bin":{"eth-scrapper":"cli.js"},"dist":{"shasum":"b226fb750dadf2929da061aa26bd7d5f9b582e53","tarball":"https://registry.npmjs.org/@bcoders.gr/eth-scrapper/-/eth-scrapper-1.3.0.tgz","fileCount":7,"integrity":"sha512-WuEqfTP8w6QblUPd7x4D0jLk54CqXVqCRaoEjt2Wp9/qPQMjPin1EMN4aqLaa/GYpbyrCHN4Wa3Xov9lR1agPQ==","signatures":[{"sig":"MEYCIQDsesVGy3F//epp34P0PypA7u7AXahp2cUrDsCM+Vha9wIhANdUA1RqEfhzUUHfuFHxQhGOr5PX00/NSZn0E4hMb2mZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66383},"main":"index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"a589768e61bcf34d0d5f954638f1ce4a4a54b0b1","scripts":{"cli":"node cli.js","dev":"electron . --dev","start":"electron .","prepublishOnly":"echo 'Publishing @bcoders.gr/eth-scrapper...'"},"_npmUser":{"name":"pagovitsa","actor":{"name":"pagovitsa","type":"user","email":"pagovitsa@gmail.com"},"email":"pagovitsa@gmail.com"},"repository":{"url":"git+https://github.com/pagovitsa/eth-scrapper.git","type":"git"},"_npmVersion":"11.4.1","description":"Electron web scraper for Etherscan transactions - External and Internal transaction hash extractor","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eth-scrapper_1.3.0_1750227234317_0.7951038709325522","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bcoders.gr/eth-scrapper","version":"1.4.0","description":"Electron web scraper for Etherscan transactions - External and Internal transaction hash extractor","main":"index.js","bin":{"eth-scrapper":"cli.js"},"type":"module","scripts":{"start":"electron .","dev":"electron . --dev","cli":"node cli.js","prepublishOnly":"echo 'Publishing @bcoders.gr/eth-scrapper...'"},"keywords":["electron","scraper","etherscan","ethereum","blockchain","transactions","web-scraping","crypto"],"author":{"name":"bcoders.gr"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pagovitsa/eth-scrapper.git"},"homepage":"https://github.com/pagovitsa/eth-scrapper#readme","bugs":{"url":"https://github.com/pagovitsa/eth-scrapper/issues"},"engines":{"node":">=16.0.0"},"publishConfig":{"access":"public"},"devDependencies":{"electron":"^28.0.0"},"_id":"@bcoders.gr/eth-scrapper@1.4.0","gitHead":"0d17b4b428096ea3300298bcc28bbed1cd6b1472","_nodeVersion":"22.16.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-b4bjwS+rXyIJcO8Ex8OvFQe1i54lleJ+2kgBW5KnL4k8AgUElslA1RBYQFq+5em9aomLHReK68AZ2LWHSfqkCQ==","shasum":"549e44d55ebbd6741e9594bc56a735162ec486ae","tarball":"https://registry.npmjs.org/@bcoders.gr/eth-scrapper/-/eth-scrapper-1.4.0.tgz","fileCount":7,"unpackedSize":66383,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCdJF6CpFtPcxFl5AUEf1Hay/OpMzgmHwRrfD33S59a2QIgEw4Npco7IdsHTSIstGRm9SR8LMQtQ2f85zQKpkvkRIE="}]},"_npmUser":{"name":"pagovitsa","email":"pagovitsa@gmail.com","actor":{"name":"pagovitsa","email":"pagovitsa@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"pagovitsa","email":"pagovitsa@gmail.com"},{"name":"badjunior91","email":"badjunior91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eth-scrapper_1.4.0_1750227335812_0.6655788862138616"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-18T05:28:14.117Z","modified":"2025-06-18T06:15:36.196Z","1.0.0":"2025-06-18T05:28:14.391Z","1.1.0":"2025-06-18T05:46:46.561Z","1.2.0":"2025-06-18T05:52:35.646Z","1.3.0":"2025-06-18T06:13:54.509Z","1.4.0":"2025-06-18T06:15:36.008Z"},"bugs":{"url":"https://github.com/pagovitsa/eth-scrapper/issues"},"author":{"name":"bcoders.gr"},"license":"MIT","homepage":"https://github.com/pagovitsa/eth-scrapper#readme","keywords":["electron","scraper","etherscan","ethereum","blockchain","transactions","web-scraping","crypto"],"repository":{"type":"git","url":"git+https://github.com/pagovitsa/eth-scrapper.git"},"description":"Electron web scraper for Etherscan transactions - External and Internal transaction hash extractor","maintainers":[{"name":"pagovitsa","email":"pagovitsa@gmail.com"},{"name":"badjunior91","email":"badjunior91@gmail.com"}],"readme":"# @bcoders.gr/eth-scrapper\r\n\r\nA high-performance Electron-based web scraper for extracting Ethereum transaction hashes from Etherscan. This tool efficiently scrapes both external and internal transactions using parallel processing and automatic Cloudflare bypass.\r\n\r\n## Features\r\n\r\n- 🚀 **Parallel Processing**: Scrapes external and internal transactions simultaneously\r\n- 🛡️ **Cloudflare Bypass**: Automatic handling of Cloudflare protection\r\n- ⚡ **High Performance**: Multi-window processing for faster data extraction\r\n- 🎯 **Precise Targeting**: Extracts transaction hashes for specific token addresses\r\n- 📊 **Detailed Reporting**: Comprehensive execution statistics\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @bcoders.gr/eth-scrapper\r\n```\r\n\r\n## Usage\r\n\r\n### As CLI Tool\r\n\r\n```bash\r\n# Install globally for CLI usage\r\nnpm install -g @bcoders.gr/eth-scrapper\r\n\r\n# Run with default parameters\r\nnpx @bcoders.gr/eth-scrapper 0x0023A1D0106185cBcC81b253a267b9d05015E0b7\r\n\r\n# Run with custom parameters\r\nnpx @bcoders.gr/eth-scrapper 0x0023A1D0106185cBcC81b253a267b9d05015E0b7 10 500\r\n\r\n# Show help\r\nnpx @bcoders.gr/eth-scrapper --help\r\n```\r\n\r\n### As NPM Module\r\n\r\n```javascript\r\nimport { runScraper } from '@bcoders.gr/eth-scrapper';\r\n\r\n// Basic usage\r\nconst result = await runScraper(\r\n  '0x0023A1D0106185cBcC81b253a267b9d05015E0b7', // Token address\r\n  10,  // Max concurrent windows\r\n  500  // Total pages to scrape\r\n);\r\n\r\nconsole.log(`External transactions: ${result.external.length}`);\r\nconsole.log(`Internal transactions: ${result.internal.length}`);\r\n```\r\n\r\n### Advanced Configuration\r\n\r\n```javascript\r\nconst tokenAddress = '0x0023A1D0106185cBcC81b253a267b9d05015E0b7';\r\nconst maxWindows = 15;    // Increase for faster scraping (uses more resources)\r\nconst totalPages = 1000;  // Increase for more comprehensive data\r\n\r\nconst result = await runScraper(tokenAddress, maxWindows, totalPages);\r\n```\r\n\r\n## API Reference\r\n\r\n### `runScraper(tokenAddress, maxWindows, totalPages)`\r\n\r\nScrapes transaction hashes from Etherscan for the specified token.\r\n\r\n#### Parameters\r\n\r\n- `tokenAddress` (string): The Ethereum token contract address\r\n- `maxWindows` (number): Maximum number of concurrent browser windows (default: 10)\r\n- `totalPages` (number): Total number of pages to scrape (default: 500)\r\n\r\n#### Returns\r\n\r\nPromise that resolves to an object containing:\r\n\r\n```javascript\r\n{\r\n  external: string[],    // Array of external transaction hashes\r\n  internal: string[],    // Array of internal transaction hashes\r\n  totalTime: number      // Total execution time in seconds\r\n}\r\n```\r\n\r\n## Performance\r\n\r\n- **Concurrent Processing**: Uses multiple Electron windows for parallel data extraction\r\n- **Smart Pagination**: Automatically distributes pages across workers\r\n- **Memory Efficient**: Optimized for handling large datasets\r\n- **Cloudflare Resilient**: Automatic detection and bypass of protection mechanisms\r\n\r\n## Requirements\r\n\r\n- Node.js 16.0.0 or higher\r\n- Electron 28.0.0 or higher\r\n- Windows/macOS/Linux compatible\r\n\r\n## Example Output\r\n\r\n```\r\n=== PARALLEL EXECUTION SUMMARY ===\r\nExternal transactions: 15,432 hashes\r\nInternal transactions: 8,921 hashes\r\nTotal unique hashes: 24,353\r\nTotal parallel time: 180 seconds (3m 0s)\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## Author\r\n\r\nbcoders.gr\r\n\r\n## Support\r\n\r\nFor issues and feature requests, please visit: https://github.com/bcoders-gr/eth-scrapper/issues\r\n","readmeFilename":"README.md"}