← back to Rentv
pr-intelligence: press-contact extractor — RSS-first release discovery (JS-rendered newsrooms), contact-block parser; discover-press-contacts job; registry orgs auto-queue verification
284c46a9051ee09e22409f9c1d452faecefd36d7 · 2026-07-30 18:05:25 -0700 · Steve Abrams
Files touched
M src/pr/adapters/website.js
Diff
commit 284c46a9051ee09e22409f9c1d452faecefd36d7
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Jul 30 18:05:25 2026 -0700
pr-intelligence: press-contact extractor — RSS-first release discovery (JS-rendered newsrooms), contact-block parser; discover-press-contacts job; registry orgs auto-queue verification
---
src/pr/adapters/website.js | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/pr/adapters/website.js b/src/pr/adapters/website.js
index adfcca95..674b36a6 100644
--- a/src/pr/adapters/website.js
+++ b/src/pr/adapters/website.js
@@ -133,6 +133,21 @@ const adapter = register({
if (!r.ok) throw new Error('HTTP ' + r.status);
const base = r.finalUrl || pressUrl;
items = extractPressContacts(r.body, base);
+ if (items.length < 2) {
+ // JS-rendered newsrooms hide release links from plain HTML — but their RSS
+ // feeds carry real release URLs. Feed-first before scraping <a> tags.
+ try {
+ const rss = require('./rss');
+ const feed = await rss.fetchFeed(base);
+ for (const it of feed.items.filter((x) => x.url).slice(0, 3)) {
+ try {
+ const rr = await politeFetch(it.url, { provider: 'website' });
+ if (rr.ok) items.push(...extractPressContacts(rr.body, it.url));
+ } catch (e) { errors.push({ url: it.url, error: e.message }); }
+ if (items.length >= 2) break;
+ }
+ } catch { /* no feed — fall through to link scan */ }
+ }
if (items.length < 2) {
// Contact blocks usually live on individual RELEASE pages, not the index.
// Follow same-domain links that look like articles: year/release URL patterns
← 67f5fba7 people UI: stacked Public info column (email/LinkedIn/phone/
·
back to Rentv
·
pr-intelligence: Cody-gate c2 fixes — isLikelyPersonName cho 41924b74 →