Skip to content

Commit d048d35

Browse files
feat: add enqueueAllOnDomain to input
1 parent 5433c7a commit d048d35

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

starter/INPUT_SCHEMA.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@
5656
"editor": "checkbox",
5757
"groupCaption": "Save Snapshots"
5858
},
59+
"enqueueAllOnDomain": {
60+
"title": "Enqueue any URL on domain (no need for link selector or pseudo URLs)",
61+
"type": "boolean",
62+
"description": "Will enqueue any URLs on the domain",
63+
"default": false
64+
},
5965
"linkSelector": {
6066
"title": "Link Selector",
6167
"type": "string",

starter/src/configs.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,11 @@ export function convertInputToActorConfigs(input: ActorInputData): PreparedActor
4848

4949
function* createActorRunConfigForCrawler({ input, urlData, checkerId, playwrightBrowser, memory }: CreateActorRunConfig) {
5050
for (const group of input.proxyConfiguration.apifyProxyGroups ?? ['auto']) {
51+
const { url } = urlData;
5152
const config: PreparedActorConfig = {
5253
actorId: checkerId,
5354
proxyUsed: group === 'auto' ? undefined : group,
54-
url: urlData.url,
55+
url,
5556
input: {
5657
saveSnapshot: input.saveSnapshot,
5758
urlsToCheck: [urlData],
@@ -60,8 +61,10 @@ function* createActorRunConfigForCrawler({ input, urlData, checkerId, playwright
6061
apifyProxyCountry: input.proxyConfiguration.apifyProxyCountry,
6162
apifyProxyGroups: group === 'auto' ? undefined : [group],
6263
},
63-
linkSelector: input.linkSelector,
64-
pseudoUrls: input.pseudoUrls,
64+
linkSelector: input.enqueueAllOnDomain ? 'a[href]' : input.linkSelector,
65+
pseudoUrls: input.enqueueAllOnDomain
66+
? [{ purl: `${new URL(url).origin}[.*]` }]
67+
: input.pseudoUrls,
6568
repeatChecksOnProvidedUrls: input.repeatChecksOnProvidedUrls,
6669
maxNumberOfPagesCheckedPerDomain: input.maxNumberOfPagesCheckedPerDomain,
6770
maxConcurrentPagesCheckedPerDomain: input.maxConcurrentPagesCheckedPerDomain,

starter/src/typedefs.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export interface ActorInputData {
4242
// General options
4343
urlsToCheck: UrlInput[];
4444
proxyConfiguration: ProxyConfiguration;
45+
enqueueAllOnDomain?: boolean;
4546
linkSelector?: string;
4647
pseudoUrls: PseudoUrlInput[];
4748
repeatChecksOnProvidedUrls?: number;

0 commit comments

Comments
 (0)