J-Net21 Case Studies Scraper
Pricing
from $5.00 / 1,000 results
J-Net21 Case Studies Scraper
Extract public J-Net21 case-study article metadata from the official SME support website.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
LogFabric
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Extracts public case-study article metadata from the official J-Net21 SME support website (https://j-net21.smrj.go.jp/special/), operated by the Organization for Small & Medium Enterprises and Regional Innovation, Japan (SMRJ).
What this Actor does
- Fetches the public J-Net21 case-study listing pages (
/special/and/special/index.php?page=N). - Parses each visible article card and extracts metadata: title, article URL, category, published date, organization name, location, tags, and image URL.
- Paginates only as far as needed to reach
maxItems(or until the site runs out of pages). - Writes results to the default dataset and a
RUN_SUMMARYobject to the default key-value store.
What this Actor does NOT do
- This is not a contact scraper. It does not extract emails, phone numbers, or personal contact details.
- It does not extract any private, customer, or account data.
- It does not visit detail pages in v0 — only the listing pages are parsed.
- It does not download images, PDFs, or any other files (an
imageUrlis extracted, but the image itself is never fetched). - It does not use a proxy, login, cookies, or session state.
- It does not solve CAPTCHAs or attempt to bypass any access controls.
- It does not crawl any site other than the official J-Net21 domain.
- It uses Crawlee + Cheerio only — no headless browser (Playwright) is used.
Input
| Field | Type | Default | Range | Description |
|---|---|---|---|---|
maxItems | integer | 20 | 1–100 | Maximum number of records to extract. |
debug | boolean | false | — | Enables verbose debug logging for the run. |
Example input:
{"maxItems": 20,"debug": false}
Output example
Each dataset record looks like this:
{"title": "逆境を力に変え「水産物」で世界に挑む、武器は機動力とアイデア「株式会社ヤマナカ」","pageUrl": "https://j-net21.smrj.go.jp/special/vibrant/20260619.html","category": "事例","publishedDate": "2026-06-19","organizationName": "株式会社ヤマナカ","location": "宮城県 石巻市","tags": ["経営戦略", "販路開拓・海外展開"],"imageUrl": "https://j-net21.smrj.go.jp/special/vibrant/img/20260619.jpg","sourceName": "J-Net21","sourceUrl": "https://j-net21.smrj.go.jp/special/","found": true,"retrievedAt": "2026-07-01T05:00:00.000Z"}
If a card is missing a required field (title or article link), it is
skipped and counted in recordsSkipped / skippedDueToLimit in the
RUN_SUMMARY — it is never pushed as a partial or guessed record.
Output limits and cost control
-
maxItems(input) is clamped to an internal hard cap of 100. -
If the platform sets
ACTOR_MAX_PAID_DATASET_ITEMS, the Actor also respects that limit:effectiveMaxItems = min(input.maxItems, ACTOR_MAX_PAID_DATASET_ITEMS, 100) -
The Actor stops pushing records as soon as
effectiveMaxItemsis reached, and stops paginating — it will not fetch listing pages beyond what is needed. -
Any additional cards visible on a page after the limit is reached are counted in
skippedDueToLimit, not treated as errors.
RUN_SUMMARY
A RUN_SUMMARY object (schema RUN_SUMMARY v1) is written to the
default key-value store at the end of every run. It contains:
| Field | Meaning |
|---|---|
totalItems | Number of records actually pushed to the dataset. |
requestedMaxItems | The maxItems value from input. |
effectiveMaxItems | The actual cap applied after cost controls. |
actorMaxPaidDatasetItems | Value read from ACTOR_MAX_PAID_DATASET_ITEMS (or null). |
skippedDueToLimit | Cards seen but not pushed because the limit was already reached. |
errorCount | Number of severe issues (blocked page, failed request, etc.). |
warningCount | Number of non-fatal issues (a card that failed to parse, etc.). |
warnings | Array of human-readable warning/error messages. |
sourceUrl | The main listing page used as the source for this run. |
requestsFinished | Number of listing-page requests that completed. |
requestsFailed | Number of listing-page requests that failed. |
cardsSeen | Total article cards seen across all parsed listing pages. |
recordsMatched | Valid records successfully pushed (should equal totalItems). |
recordsSkipped | Cards skipped because required fields were missing/unparseable. |
retrievedAt | ISO timestamp for the run. |
Notes on severity:
- Reaching
maxItemsis not an error — it is reflected only inskippedDueToLimit. - Fewer results than requested (e.g., the site simply has fewer articles
than
maxItems) is not an error. - A single card that fails to parse adds a warning and the run continues.
- An HTTP failure on a listing page increments
requestsFailedanderrorCount. - If the source returns HTTP 403, a CAPTCHA/login page, or a listing page
with zero article cards on the very first page, the Actor records this
as an error, stops crawling, and reflects it clearly in
RUN_SUMMARY.
Limitations
- Only listing-page metadata is extracted; full article body text is not collected (v0 does not visit detail pages).
- The
locationfield is parsed from the organization line's parenthetical text (e.g.会社名 (県 市)); if the source page changes this format, the field may come back asnullfor some records without failing the whole run. - If J-Net21 changes its HTML structure (class names such as
news-card,news-card__ttl, etc.), extraction may return fewer fields or fail — this is intentionally treated as a warning/error rather than silently guessed data. - The Actor does not use a proxy, so it is subject to the plain outbound IP's access to the site; heavy rate limiting or geo-blocking by the source site is out of scope.
Data source
All data comes from the official public J-Net21 case-study listing pages: https://j-net21.smrj.go.jp/special/ (operated by SMRJ, an independent administrative agency of Japan). This Actor only reads publicly available listing metadata and performs no login, no scraping of private data, and no downloading of files or images.