Да, можно использовать один скрипт для парсинга различных веб-сайтов, но потребуется адаптация под особенности каждого конкретного сайта.
Для этой задачи можно использовать такие подходы:
1. **Общие правила парсинга**: Создайте базовую структуру скрипта, которая будет извлекать HTML-страницы и обрабатывать их. Например, используйте библиотеки как `Requests` и `BeautifulSoup` в Python для получения и разбора HTML-кода.
2. **Адаптивные селекторы**: Сделайте ваш скрипт гибким, позволяя ему использовать разные CSS-селекторы или XPath для извлечения нужной информации с разных сайтов. Можно создать функции или классы, которые будут принимать параметры, указывающие, какой именно сайт парсить, и соответственно изменять селекторы.
3. **Обработка исключений**: Учитывайте, что структура HTML может изменяться, поэтому добавляйте обработку исключений и проверку на наличие элементов перед их использованием.
4. **Модульность**: Разделите ваш код на модули, отвечающие за конкретные сайты или группы сайтов. Это упростит поддержку и модификацию.
5. **Использование API**: Если доступен API для извлечения данных, это будет более надежным подходом, чем парсинг HTML, так как API обычно имеет стабильно структурированные данные.
Примерный код на Python для начальной настройки парсинга может быть таким:
```python
import requests
from bs4 import BeautifulSoup
def parse_site(url, selectors):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
results = []
for selector in selectors:
elements = soup.select(selector)
for element in elements:
results.append(element.get_text())
return results
# Пример использования
google_search_url = 'https://www.google.com/search?q=пример'
selectors = ['h3'] # Например, заголовки результатов поиска
results = parse_site(google_search_url, selectors)
print(results)
```
Учтите, что парсинг больших объемов данных с сайтов, таких как Google, может нарушать их правила использования, поэтому убедитесь, что вы не нарушаете их условия и условия других сайтов, которые собираетесь парсить.