Apify
Pricing
Pay per usage
Apify
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Kevin Doshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Facebook Bright Data mirror — Apify Actor
Location: ~/apify-facebook-brightdata-mirror (home folder में नया project).
यह Actor क्या करता है?
- Apify platform पर चलने वाला छोटा Node.js प्रोग्राम है (Docker image में pack होकर)।
- Tech stack:
apifynpm package (Apify SDK v3) —Actor.init()→getInput()→pushData()→exit()। - Dataset में हर item का shape वही है जो आपके backend में
social-buzzbrand-api/src/crons/facebook.jsBright Data snapshot के बाद.map(post => …)से बनता है (lines ~251–287)।
यानी runApifyActor() जो items लौटाता है, वैसा ही structure — ताकि बाद में Bright Data की जगह इस Actor को plug किया जा सके।
Apify Actor कैसे काम करता है? (short)
| Piece | Role |
|---|---|
| Dockerfile | apify/actor-node:20 image — Node + Apify runtime |
.actor/actor.json | Actor name, version, Dockerfile path, input schema |
src/main.js | Entry — Apify SDK calls |
Actor.pushData(obj) | हर object default dataset में एक row की तरह जाता है (API में listItems() वही पढ़ता है) |
| Input | Console / API से JSON — INPUT_SCHEMA से form बनता है |
Docs: Actor definition, JS SDK.
Output — हर dataset item में fields (facebook.js mapping के अनुसार)
| Field | Source (Bright Data raw) |
|---|---|
feedback_id | post.post_id |
post_url, top_level_url | post.url |
text | post.content |
likes | post.likes या count_reactions_type sum |
comments | post.num_comments |
shares | post.num_shares |
video_views | post.video_view_count |
timestamp | IST-adjusted unix seconds (string) |
date_posted | post.date_posted |
media | post.attachments[] → Graph-like objects |
page_name | page_name / user_username_raw |
facebook_id | profile_id |
page_info.* | page_followers, page_logo, … |
पूरा mapping कोड: src/normalize.js (comments में line-by-line reference)।
Local चलाना
cd ~/apify-facebook-brightdata-mirrornpm installnpx apify-cli run
नतीजा: storage/datasets/default/*.json में items।
बिना Apify CLI: node src/test-normalize.js — सिर्फ normalize JSON print (SDK नहीं)।
Input options
mockData: true(default) — 2 sample Bright Data–like rows normalize करके dataset में भेजता है (shape test के लिए)।rawPosts: [...]— Bright Data export के objects का array; सिर्फ normalize + push (कोई live scrape नहीं)।mockData: falseऔरrawPostsखाली — error: real FB scrape इस template में implement नहीं; आगे Crawlee + Playwright जोड़ सकते हो (Apify की usual stack)।
Apify पर upload / GitHub
- Apify Console → account
- Install CLI:
npm i -g apify-cli(याnpx apify-cli) apify login- Project folder से:
apify push(या GitHub repo connect करके auto-build)
.actor/actor.json में name / version अपडेट करके push करो।
असली Facebook scraping
Facebook पर aggressive scraping ToS / technical blocks के अधीन है। Production में अक्सर:
- Crawlee (
crawleepackage) + Playwright — Apify official stack - या वही Bright Data dataset जो आप पहले से use कर रहे हो — इस Actor में
rawPostsपास करके सिर्फ एक ही response format guarantee करो
इस repo का मुख्य उद्देश्य: एक ही normalized output contract + Apify पर deploy करने लायक skeleton।
GitHub (doshikevin361/apify)
Local repo में main branch commit तैयार है। Push इस मशीन पर login न होने से यहाँ से नहीं हुआ — अपने PC पर:
cd ~/apify-facebook-brightdata-mirrorgit remote -v # origin → https://github.com/doshikevin361/apify.gitgit push -u origin main
GitHub login: PAT (Settings → Developer settings) या gh auth login, या SSH (git remote set-url origin git@github.com:doshikevin361/apify.git).
फिर Apify Console → Link repository → doshikevin361/apify → build।