SECRET INPUT avatar
SECRET INPUT

Deprecated

Pricing

Pay per usage

Go to Store
SECRET INPUT

SECRET INPUT

Deprecated

Developed by

cat

cat

Maintained by Community

Secret Input Errors

0.0 (0)

Pricing

Pay per usage

0

Total users

1

Monthly users

0

Last modified

a year ago

.actor/Dockerfile

# First, specify the base Docker image.
# You can see the Docker images from Apify at https://hub.docker.com/r/apify/.
# You can also use any other image from Docker Hub.
FROM apify/actor-python:3.11
# Second, copy just requirements.txt into the Actor image,
# since it should be the only file that affects the dependency install in the next step,
# in order to speed up the build
COPY requirements.txt ./
# Install the packages specified in requirements.txt,
# Print the installed Python version, pip version
# and all installed packages with their versions for debugging
RUN echo "Python version:" \
&& python --version \
&& echo "Pip version:" \
&& pip --version \
&& echo "Installing dependencies:" \
&& pip install -r requirements.txt \
&& echo "All installed Python packages:" \
&& pip freeze
# Next, copy the remaining files and directories with the source code.
# Since we do this after installing the dependencies, quick build will be really fast
# for most source file changes.
COPY . ./
# Use compileall to ensure the runnability of the Actor Python code.
RUN python3 -m compileall -q .
# Specify how to launch the source code of your Actor.
# By default, the "python3 -m ." command is run
CMD ["python3", "-m", "src"]

.actor/actor.json

{
"actorSpecification": 1,
"name": "my-actor-9",
"title": "Empty Python project",
"description": "Empty project in Python.",
"version": "0.0",
"buildTag": "latest",
"meta": {
"templateId": "python-empty"
},
"dockerfile": "./Dockerfile"
}

.actor/input_schema.json

{
"title" : "Scraper",
"description" : "",
"type" : "object",
"schemaVersion" : 1,
"required" : ["secret_2"],
"properties": {
"secret_1": {
"title": "Secret 1",
"type": "string",
"description": "",
"editor": "textfield",
"isSecret": true
},
"secret_2": {
"title": "Secret 2",
"type": "string",
"description": "",
"editor": "textfield",
"isSecret": true
}
}
}

src/__main__.py

1"""
2This module serves as the entry point for executing the Apify Actor. It handles the configuration of logging
3settings. The `main()` coroutine is then executed using `asyncio.run()`.
4
5Feel free to modify this file to suit your specific needs.
6"""
7
8import asyncio
9import logging
10
11from apify.log import ActorLogFormatter
12
13from .main import main
14
15# Configure loggers
16handler = logging.StreamHandler()
17handler.setFormatter(ActorLogFormatter())
18
19apify_client_logger = logging.getLogger('apify_client')
20apify_client_logger.setLevel(logging.INFO)
21apify_client_logger.addHandler(handler)
22
23apify_logger = logging.getLogger('apify')
24apify_logger.setLevel(logging.DEBUG)
25apify_logger.addHandler(handler)
26
27# Execute the Actor main coroutine
28asyncio.run(main())

src/main.py

1"""
2This module defines the `main()` coroutine for the Apify Actor, executed from the `__main__.py` file.
3
4Feel free to modify this file to suit your specific needs.
5
6To build Apify Actors, utilize the Apify SDK toolkit, read more at the official documentation:
7https://docs.apify.com/sdk/python
8"""
9
10from apify import Actor
11
12
13async def main() -> None:
14 """
15 The main coroutine is being executed using `asyncio.run()`, so do not attempt to make a normal function
16 out of it, it will not work. Asynchronous execution is required for communication with Apify platform,
17 and it also enhances performance in the field of web scraping significantly.
18 """
19 async with Actor:
20 Actor.log.info('Hello from the Actor!')
21 # Write your code here

requirements.txt

1# Feel free to add your Python dependencies below. For formatting guidelines, see:
2# https://pip.pypa.io/en/latest/reference/requirements-file-format/
3
4apify ~= 1.7.0