Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
-1 / 0 / 0
Регистрация: 17.12.2024
Сообщений: 4

Бот для автовыполнения задач

17.12.2024, 12:38. Показов 471. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий модератора 
Сообщение перемещено из темы Браузером Chrome управляет автоматизированное тестовое ПО

Возможно ли создать бота, для автовыполнения задач?
Например делать задачи почти как человек. Вот GPT чат может сделать, но у него ошибки и они банятся аккаунтом google

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import os
import random
import time
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
 
# === Settings ===
API_KEY = ""  # Insert your Google Maps API key
LOCATIONS = ["Москва"]  # Main places
NEARBY_TYPES = ["park", "street", "store", "office", "factory", "restaurant", "cafe", "gas_station"]  # Types of places
RECONNECT_INTERVAL = 5
PROFILE_PATH = os.path.expanduser("~/.config/google-chrome/Default")  # Path to Chrome profile
LOG_FILE = "activity_log.txt"  # Log file for actions
 
# === Functions ===
def check_internet():
    """Checks internet connectivity."""
    try:
        requests.get('http://www.google.com', timeout=3)
        return True
    except requests.ConnectionError:
        return False
 
def setup_browser():
    """Configures the Chrome browser."""
    options = Options()
    options.add_argument(f"--user-data-dir={PROFILE_PATH}")  # Use your Chrome profile
    options.add_argument("--disable-blink-features=AutomationControlled")
    options.add_argument("--start-maximized")
    return webdriver.Chrome(service=Service("/usr/bin/chromedriver"), options=options)
 
def type_text_slowly(search_box, text):
    """Simulates slow typing of text."""
    for char in text:
        search_box.send_keys(char)
        time.sleep(random.uniform(0.1, 0.3))  # Delay between characters
 
def log_action(action):
    """Logs actions to a file."""
    with open(LOG_FILE, "a") as log_file:
        log_file.write(f"{time.strftime('%Y-%m-%d %H:%M:%S')} - {action}\n")
 
def zoom_in_out(driver):
    """Simulates zooming in and out on the map."""
    try:
        # Zoom in
        for _ in range(2):
            driver.find_element(By.CSS_SELECTOR, "button[aria-label='Увеличить масштаб']").click()
            time.sleep(random.uniform(1, 2))
        log_action("Zoomed in twice")
 
        # Zoom out
        for _ in range(2):
            driver.find_element(By.CSS_SELECTOR, "button[aria-label='Уменьшить масштаб']").click()
            time.sleep(random.uniform(1, 2))
        log_action("Zoomed out twice")
    except Exception as e:
        log_action(f"Error during zoom in/out: {e}")
 
def find_nearby_places(lat, lon):
    """Finds places near specified coordinates."""
    nearby_results = []
    for place_type in NEARBY_TYPES:
        url = (f"https://maps.googleapis.com/maps/api/place/nearbysearch/json?"
               f"location={lat},{lon}&radius=1500&type={place_type}&key={API_KEY}")
        response = requests.get(url)
        if response.status_code == 200:
            results = response.json().get("results", [])
            for place in results:
                name = place.get("name", "Без имени")
                address = place.get("vicinity", "Адрес отсутствует")
                rating = place.get("rating", "Рейтинг отсутствует")
                nearby_results.append(f"{place_type.capitalize()} - {name}: {address} (Рейтинг: {rating})")
    return nearby_results
 
def simulate_movement():
    """Simulates text-based queries on Google Maps."""
    driver = setup_browser()
    try:
        # Open Google Maps
        driver.get("https://www.google.com/maps")
        print("Google Maps opened.")
 
        wait = WebDriverWait(driver, 10)
        for location in LOCATIONS:
            print(f"Searching for: {location}")
            log_action(f"Search: {location}")
 
            # Find the input box and type the query
            search_box = wait.until(EC.presence_of_element_located((By.ID, "searchboxinput")))
            search_box.clear()
            type_text_slowly(search_box, location)  # Simulate slow typing
            search_box.send_keys(Keys.RETURN)
            time.sleep(5)  # Wait for results to load
 
            # Simulate zooming in and out
            zoom_in_out(driver)
 
            # Simulate interaction with objects
            lat, lon = 50.4501, 30.5234  # Use API to get coordinates
            nearby_places = find_nearby_places(lat, lon)
            for place in nearby_places:
                print(place)
                log_action(place)
 
            # Delay before the next query
            time.sleep(random.randint(10, 20))
 
    except Exception as e:
        print(f"Error: {e}")
        log_action(f"Error: {e}")
    finally:
        driver.quit()
        print("Browser closed.")
 
# === Main Execution ===
if __name__ == "__main__":
    simulate_movement()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2024, 12:38
Ответы с готовыми решениями:

Бот для автоматизации повседневных задач
Доброго времени суток! Я бы хотел узнать можно ли написать на питоне такую конструкцию : клик в окно клиента в поле для текста и вставка...

Решение задач на С++ (написание программы для решения задач)
Добрый день! Помогите с написанием кода для программы, которая будет решать следующие задачки: 1) Вводится последовательность целых...

пара непростых( для меня) задач задач
Здравствуйте. Помогите пожалуйста решить две задачки, мне уже нужно второй модуль а я еще первый не доделал. никак не получается, всей...

6
17.12.2024, 13:03

Не по теме:

0Oliver1, зачем некрофилией занимаешься, и людей сбиваешь. создавай новую тему!

0
-1 / 0 / 0
Регистрация: 17.12.2024
Сообщений: 4
17.12.2024, 13:30  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
создавай новую тему!
тема уже создана "Браузером Хроме управляет автоматизированное тестовое ПО" если нет желания помочь! можешь DELнуться, как и все остальные -это ещё раз подтвердит, что на форуме нет разумных людей.
0
 Аватар для Aviz__
2754 / 2061 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
17.12.2024, 14:04
Цитата Сообщение от 0Oliver1 Посмотреть сообщение
задачи почти как человек
точно как человек делает
Цитата Сообщение от Aviz__ Посмотреть сообщение
Selenium IDE
но ты читать не умеешь, наверное...
0
-1 / 0 / 0
Регистрация: 17.12.2024
Сообщений: 4
17.12.2024, 17:46  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
Selenium IDE
это расширение для браузера, но не программа со скриптом. Такой способ будет блокироваться всегда.
0
 Аватар для Aviz__
2754 / 2061 / 509
Регистрация: 17.02.2014
Сообщений: 9,491
17.12.2024, 18:15
Цитата Сообщение от 0Oliver1 Посмотреть сообщение
это расширение для браузера
из которого можно импортировать в разные языки.
Цитата Сообщение от 0Oliver1 Посмотреть сообщение
будет блокироваться
кем?
0
 Аватар для OlegChe
73 / 55 / 25
Регистрация: 12.07.2014
Сообщений: 216
18.12.2024, 08:37
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import os
import random
import time
import logging
from typing import List, Dict
import googlemaps  # Официальная библиотека Google Maps
 
# Настройки логирования
logging.basicConfig(
    filename='map_research.log', 
    level=logging.INFO, 
    format='%(asctime)s - %(message)s'
)
 
class MapResearcher:
    def __init__(self, api_key: str):
        """Инициализация исследователя карт с официальной библиотекой"""
        self.client = googlemaps.Client(key=api_key)
        self.locations = ["Москва", "Санкт-Петербург"]
        self.place_types = [
            "park", "museum", "library", 
            "restaurant", "university"
        ]
 
    def find_nearby_places(self, location: str) -> List[Dict]:
        """Поиск мест с использованием официального API"""
        try:
            # Геокодирование локации
            geocode_result = self.client.geocode(location)
            if not geocode_result:
                logging.error(f"Не удалось найти координаты для {location}")
                return []
 
            lat = geocode_result[0]['geometry']['location']['lat']
            lng = geocode_result[0]['geometry']['location']['lng']
 
            # Результаты для разных типов мест
            all_places = []
            for place_type in self.place_types:
                places = self.client.places_nearby(
                    location=(lat, lng),
                    radius=5000,  # 5 км
                    type=place_type
                )
                
                for place in places.get('results', []):
                    all_places.append({
                        'name': place.get('name', 'Без названия'),
                        'address': place.get('vicinity', 'Адрес не указан'),
                        'rating': place.get('rating', 'Нет рейтинга'),
                        'type': place_type
                    })
                
                # Задержка между запросами для корректности
                time.sleep(random.uniform(0.5, 1.5))
 
            return all_places
 
        except Exception as e:
            logging.error(f"Ошибка при поиске мест: {e}")
            return []
 
    def research_locations(self):
        """Исследование локаций"""
        for location in self.locations:
            logging.info(f"Исследование локации: {location}")
            nearby_places = self.find_nearby_places(location)
            
            # Вывод и логирование результатов
            for place in nearby_places[:10]:  # Ограничение вывода
                print(f"Тип: {place['type']}")
                print(f"Название: {place['name']}")
                print(f"Адрес: {place['address']}")
                print(f"Рейтинг: {place['rating']}")
                print("-" * 30)
 
def main():
    # Используйте реальный API-ключ из Google Cloud Console
    API_KEY = "YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
    
    try:
        researcher = MapResearcher(API_KEY)
        researcher.research_locations()
    except Exception as e:
        logging.error(f"Критическая ошибка: {e}")
 
if __name__ == "__main__":
    main()
Нужна библиотека
Bash
1
pip install googlemaps
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2024, 08:37
Помогаю со студенческими работами здесь

Бот Анфиса и бот Алиса хотят сыграть во что-нибудь по сети
Бот Анфиса и бот Алиса хотят сыграть во что-нибудь по сети. Каждая из них составила список игр, в которые она умеет играть. Списки, конечно...

Перед турниром Вася провел подготовку. Он решил А задач на циклы, В задач на массивы и C задач на строки
Перед турниром Вася провел подготовку. Он решил А задач на циклы, В задач на массивы и C задач на строки. Позже выяснилось, что из решенных...

Ищу опытного программиста для совместного проекта (бот для автоторговли) на бинансе
Всем привет, суть в названии темы. У меня имеется нужный багаж знаний в трейдинге и уверенность в силах для проекта. Нужен опытный...

Советы. с чего начать поиски для создание программ авто покупка бот для сайта
Советы. с чего начать поиски для создание программ авто покупка бот для сайта Например: сайт Торг. П. steam...

Бот для ВК для добавления людей в группу
Добрый вечер! Решил попробовать создать бота для ВК для добавления людей в группу. Подскажите, пожалуйста, в каком направлении надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru