Сделать бота для сбора датасета (нужно где-то 5000 фото) Бот бегает по сайтам нажимает на любую кнопку и делает скрины изменений интерфейсов и формирует датасет с репозиториями: dataset -images before -images after изображения имеют одинаковые названия, чтобы коннектить изображения из папки до нажатия кнопки и после. бот уже создан, как для этого бота сгенерировать 5000 ссылок рабочих сайтов для использования в боте
Для генерации 5000 рабочих ссылок на сайты, которые ваш бот будет использовать для сбора данных, можно воспользоваться несколькими подходами:
Использование поисковых систем:
Вы можете использовать API поисковых систем, таких как Google Custom Search API или Bing Search API, чтобы получить список URL-адресов по определенным ключевым словам.
Пример использования Google Custom Search API на Python:
from googleapiclient.discovery import build
def get_urls(api_key, cse_id, query, num_results):
service = build("customsearch", "v1", developerKey=api_key)
urls = []
for start in range(1, num_results, 10):
res = service.cse().list(q=query, cx=cse_id, start=start).execute()
urls.extend([item['link'] for item in res['items']])
return urls
api_key = 'YOUR_API_KEY'
cse_id = 'YOUR_CSE_ID'
query = 'example query'
num_results = 5000
urls = get_urls(api_key, cse_id, query, num_results)
Использование открытых списков сайтов:
Существуют различные открытые списки сайтов, такие как списки Alexa, которые можно использовать для получения URL-адресов.
Пример использования списка Alexa:
import requests
from bs4 import BeautifulSoup
def get_alexa_top_sites(num_sites):
url = 'http://s3.amazonaws.com/alexa-static/top-1m.csv.zip'
response = requests.get(url)
with open('top-1m.csv.zip', 'wb') as f:
f.write(response.content)
with zipfile.ZipFile('top-1m.csv.zip', 'r') as zip_ref:
zip_ref.extractall('.')
with open('top-1m.csv', 'r') as f:
sites = [line.split(',')[1].strip() for line in f.readlines()[:num_sites]]
return sites
num_sites = 5000
urls = get_alexa_top_sites(num_sites)
Использование веб-скрейпинга:
Вы можете использовать веб-скрейпинг для получения URL-адресов с различных сайтов, таких как каталоги сайтов или форумы.
Пример использования BeautifulSoup для скрейпинга URL-адресов:
import requests
from bs4 import BeautifulSoup
def scrape_urls(base_url, num_urls):
urls = []
response = requests.get(base_url)
soup = BeautifulSoup(response.text, 'html.parser')
for link in soup.find_all('a', href=True):
if len(urls) >= num_urls:
break
urls.append(link['href'])
return urls
base_url = 'https://example.com'
num_urls = 5000
urls = scrape_urls(base_url, num_urls)
Комбинированный подход:
После получения списка URL-адресов, вы можете передать их вашему боту для дальнейшей обработки и сбора данных. Убедитесь, что ваш бот обрабатывает ошибки и исключения, так как некоторые URL-адреса могут быть недоступны или неработоспособны.