TechCrunch — ведущий источник технологических новостей, охватывающий все: от новых стартапов до крупных технологических гигантов. Имея миллионы читателей по всему миру, TechCrunch публикует статьи, которые влияют на тенденции отрасли и формируют бизнес-стратегии. Сбор данных из TechCrunch может предоставить ценную информацию о последних технологических тенденциях, новостях стартапов и отраслевых разработках.

В этом блоге мы проведем вас через процесс парсинга TechCrunch с помощью Python. Мы рассмотрим все, от понимания структуры веб-сайта до написания веб-парсера, который может эффективно собирать данные из статей TechCrunch. Кроме того, мы рассмотрим, как оптимизировать процесс парсинга с помощью Crawlbase Crawling API для обхода антискрейпинговых мер. Начнем!

Вот краткое руководство по извлечению данных из TechCrunch:

Оглавление

  1. Зачем собирать данные TechCrunch?
  • Преимущества парсинга TechCrunch
  • Ключевые данные для извлечения
  1. Настройка среды Python
  • Установка Python
  • Настройка виртуальной среды
  • Установка необходимых библиотек
  • Выбор IDE
  1. Скрапинг списков статей TechCrunch
  • Проверка структуры HTML
  • Написание листингового скрейпера TechCrunch
  • Обработка нумерации страниц
  • Хранение данных в CSV-файле
  • Полный код
  1. Копирование страницы статьи TechCrunch
  • Проверка структуры HTML
  • Написание страницы статьи TechCrunch
  • Хранение данных в CSV-файле
  • Полный код
  1. Оптимизация скрапинга с помощью Crawlbase Crawling API
  • Обход проблем со скрапингом
  • Реализация Crawlbase в вашем скребке
  1. Заключение
  2. Часто задаваемые вопросы (FAQ)

Зачем собирать данные TechCrunch?

TechCrunch — один из ведущих источников технологических новостей и аналитики, предоставляющий ценную информацию о последних разработках в технологической отрасли. Ниже приведены некоторые преимущества парсинга TechCrunch и тип информации, которую вы можете получить из него.

Преимущества парсинга TechCrunch

Парсинг TechCrunch может дать несколько преимуществ:

Изображение преимуществ парсинга techcrunch
  • Оставаться в курсе: Собирая данные TechCrunch, вы можете получить самые последние технологические тенденции, запуски стартапов и изменения в отрасли. Это помогает организациям и отдельным лицам оставаться впереди конкурентов на постоянно меняющемся рынке.
  • Исследования рынка: Собирая данные TechCrunch, вы можете провести тщательное исследование рынка. Анализируя статьи и пресс-релизы, становится легко определить новые тенденции, предпочтения клиентов и стратегии конкурентов.
  • Тенденции и голоса: Изучая статьи TechCrunch, можно будет определить темы, которые набирают популярность, а также определить тех людей, которые имеют влиятельные голоса в области технологий. Это поможет вам определить потенциальных партнеров, конкурентов или даже лидеров рынка.
  • Принятие решений на основе данных: Доступность данных TechCrunch позволяет фирмам принимать бизнес-решения на основе текущих тенденций в отрасли. Если вы планируете запустить новый продукт или выйти на другой рынок, информация, предоставленная TechCrunch, может быть очень полезна для принятия решений.

Ключевые данные для извлечения

При сборе данных TechCrunch вам, возможно, захочется сосредоточиться на нескольких ключевых моментах:

  • Названия статей и авторы: Понимание того, какие темы освещаются и кто пишет эти статьи, даст вам представление о тенденциях в отрасли и влиятельных мнениях.
  • Даты публикации: Отслеживание времени публикации статей может помочь вам своевременно выявлять тенденции и то, как они развиваются с течением времени.
  • Краткое содержание: Извлечение кратких изложений или ключевых моментов из этих статей может помочь быстро выявить основные идеи, не читая их полностью.
  • Теги и категории: Знание того, как классифицируются статьи, дает более глубокое представление о том, какие проблемы чаще всего затрагивает TechCrunch, а также показывает, какое место эти проблемы занимают в более крупных отраслевых событиях.
  • Упоминания компании: Определение наиболее часто упоминаемых компаний может дать представление о лидерах рынка и потенциальных инвестиционных возможностях.

Понимая эти преимущества и ключевые данные, вы сможете эффективно использовать данные TechCrunch, чтобы получить конкурентное преимущество и расширить свои знания в сфере технологий.

Настройка среды Python

Для эффективного сбора данных TechCrunch настройте среду Python, установив Python, используя виртуальную среду и выбрав правильные инструменты.

Установка Python

Убедитесь, что Python установлен в вашей системе. Загрузите последнюю версию с сайта Веб-сайт Python и следуйте инструкциям по установке. Не забудьте добавить Python в системный PATH.

Настройка виртуальной среды

Использование виртуальной среды помогает вам управлять зависимостями проекта Python, не влияя на другие проекты. Она создает отдельный экземпляр, в котором можно устанавливать и отслеживать пакеты, которые имеют отношение только к этому проекту скрапинга. Вот как начать.

Установить Virtualenv: Если у вас не установлен virtualenv, вы можете установить его через pip:

1
пип установить виртуалэнв

Создать виртуальную среду: Перейдите в каталог вашего проекта и создайте виртуальную среду:

1
виртуальное окружение techcrunch_venv

Активируйте виртуальную среду:

  • В Windows:

    1
    techcrunch_venv\Скрипты\активировать
  • В macOS и Linux:

    1
    источник techcrunch_venv/bin/активировать

Установка необходимых библиотек

Активировав виртуальную среду, вы можете установить библиотеки, необходимые для веб-скрапинга:

  1. КрасивыйСуп: Для анализа документов HTML и XML.
  2. Запросы: Для обработки HTTP-запросов и ответов.
  3. Панды: Для хранения и обработки собираемых вами данных.
  4. Crawlbase: Для повышения эффективности очистки и решения сложных задач на поздних этапах процесса.

Установите эти библиотеки с помощью следующей команды:

1
pip install beautifulsoup4 запрашивает pandas crawlbase

Выбор IDE

Выбор правильной интегрированной среды разработки (IDE) для вашей работы может значительно повысить вашу эффективность и даже комфорт при программировании. Ниже приведены некоторые популярные варианты.

  • PyCharm: Мощная IDE, специально предназначенная для разработки на Python, предлагающая автодополнение кода, отладку и широкий спектр плагинов.
  • Код VS: Универсальный и легкий редактор с мощной поддержкой Python посредством расширений.
  • Jupyter Notebook: Идеально подходит для исследовательского анализа данных и интерактивного кодирования, особенно полезен, если вы предпочитаете интерфейс блокнота.

Выбор подходящей IDE будет зависеть от личных предпочтений и от того, какие функции, по вашему мнению, будут наиболее полезны для оптимизации вашего рабочего процесса. Далее мы рассмотрим скрапинг списков статей для извлечения информации из контента TechCrunch.

Извлечение списков статей TechCrunch

В этом разделе мы обсудим, как извлекать списки статей из TechCrunch. Это включает в себя проверку HTML-структуры веб-страницы, написание скрапера для извлечения данных, обработку пагинации и сохранение данных в CSV-файл.

Проверка структуры HTML

Перед извлечением данных из списков TechCrunch вам необходимо определить правильные селекторы CSS для элементов, содержащих необходимые вам данные.

Изображение HTML-структуры листингов Techcrunch
  1. Открытые инструменты разработчика: Посетите домашнюю страницу TechCrunch, затем откройте Инструменты разработчика, щелкнув правой кнопкой мыши и выбрав «Проверить» или используя Ctrl+Shift+I (Windows) или Cmd+Option+I (Mac).
  2. Найти контейнеры для статей: Найдите основной контейнер для каждой статьи. На TechCrunch статьи обычно находятся внутри <div> с классом wp-block-tc23-post-picker. Это поможет вам просмотреть каждую статью.
  3. Определите ключевые элементы: Внутри каждого контейнера статьи найдите определенные элементы, содержащие данные:
  • Название: Обычно в пределах <h2> тег с классом wp-block-post-title.
  • Ссылка: <a> тег внутри элемента заголовка с URL в href атрибутов.
  • Автор: Обычно в <div> с классом wp-block-tc23-author-card-name.
  • Дата публикации: Часто в <time> тег, с датой в datetime атрибутов.
  • Резюме: Найдено в <p> тег с классом wp-block-post-excerpt__excerpt.

Написание листингового скрейпера TechCrunch

Давайте напишем веб-скрейпер для извлечения данных со страницы списков статей TechCrunch с помощью Python и BeautifulSoup. Мы извлечем заголовок, ссылку на статью, автора, дату публикации и резюме из каждой перечисленной статьи.

Импорт библиотек

Во-первых, нам нужно импортировать необходимые библиотеки:

1
2
3
Импортировать Запросы
от bs4 Импортировать КрасивыйСуп
Импортировать JSON

Определить функцию скребка

Далее мы определим функцию для извлечения данных:

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
защиту scrape_techcrunch_listings(URL):
ответ = запросы.get(url)

if ответ.status_code == 200:
суп = КрасивыйСуп(ответ.контент, 'html.парсер')
статьи = суп.выбрать('div.wp-block-group > div.wp-block-tc23-post-picker-group > div.wp-block-tc23-post-picker')
данные = []

для статья in статьи:
title_element = статья.select_one('h2.wp-block-post-title')
заголовок = элемент_заголовка.текст.полоска() if title_element еще ''
ссылка = title_element.найти('а')['href'] if title_element еще ''
автор = статья.выберите_один('div.wp-block-tc23-author-card-name').текст.полоска() if статья.выберите_один('div.wp-block-tc23-author-card-name') еще ''
дата_публикации = статья.выберите_один('время')['дата-время'] if статья.выберите_один('время') еще ''
резюме = статья.выберите_один('p.wp-block-post-excerpt__excerpt').текст.полоска() if статья.выберите_один('p.wp-block-post-excerpt__excerpt') еще ''

данные.добавить({
'Заголовок': заголовок,
'Связь': связь,
«Автор»: автор,
«Дата публикации»: дата_публикации,
'Краткое содержание': краткое содержание
})

возвращают данным
еще:
Распечатать(f"Не удалось получить страницу. Код статуса: {response.status_code}")
возвращают Ничто

Эта функция собирает данные о статьях из списков TechCrunch, фиксируя такие сведения, как заголовки, ссылки, авторы, даты публикации и резюме.

Тест скребка

Для тестирования скребка используйте следующий код:

1
2
3
4
URL = «https://techcrunch.com»
articles_data = scrape_techcrunch_listings(url)

Распечатать(json.dumps(articles_data, отступ=2))

Создайте новый файл с именем techcrunch_listing_scraper.py, скопируйте предоставленный код в этот файл и сохраните его. Запустите скрипт с помощью следующей команды:

1
python techcrunch_listing_scraper.py

Вы должны увидеть вывод, аналогичный примеру ниже.

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
[
{
"Заголовок": «Как глава отдела слияний и поглощений CNH\u2019\u2018«черный пояс» заключает сделки»,
"Связь": "https://techcrunch.com/2024/08/11/how-cnhs-black-belt-ma-head-makes-deals/",
"Автор": "Шон О'Кейн",
«Дата публикации»: "2024-08-11T11:35:08-07:00",
"Краткое содержание": «Производитель тяжелого оборудования CNH Industrial имеет долгую историю слияний и поглощений, иногда контролируя такие легендарные бренды, как Ferrari. Но пять лет назад, когда агротехнологии процветали, глобальная\u2026»
},
{
"Заголовок": «CrowdStrike получает награду за «самый грандиозный провал» после глобального сбоя в работе ИТ-систем»,
"Связь": "https://techcrunch.com/2024/08/11/crowdstrike-accepts-award-for-most-epic-fail-after-global-it-outage/",
"Автор": "Энтони Ха",
«Дата публикации»: "2024-08-11T10:40:21-07:00",
"Краткое содержание": «Президент CrowdStrike сказал, что он отвезет трофей обратно в штаб-квартиру как напоминание о том, что «наша цель — защищать людей, а мы ошиблись».
},
{
"Заголовок": «Инструменты с открытым исходным кодом для повышения вашей производительности»,
"Связь": "https://techcrunch.com/2024/08/11/a-not-quite-definitive-guide-to-open-source-alternative-software/",
"Автор": "Пол Сойерс",
«Дата публикации»: "2024-08-11T09:00:00-07:00",
"Краткое содержание": «TechCrunch собрал несколько альтернатив популярным приложениям для повышения производительности с открытым исходным кодом, которые могут быть интересны профессионалам, фрилансерам или малому бизнесу, желающим вырваться из тисков крупных технологических компаний».
},
{
"Заголовок": «Оценка Oyo рухнула более чем на 75% при новом финансировании»,
"Связь": "https://techcrunch.com/2024/08/11/oyo-valuation-crashes-over-75-in-new-funding/",
"Автор": «Маниш Сингх»,
«Дата публикации»: "2024-08-11T06:07:12-07:00",
"Краткое содержание": «Оценка Oyo, когда-то второго по стоимости стартапа в Индии стоимостью 2019 миллиардов долларов, упала до 10 миллиарда долларов в ходе нового раунда финансирования, сообщили TechCrunch многочисленные источники. Стартап со штаб-квартирой в Гуруграме, который»
},
.... более
]

В следующих разделах мы займемся пагинацией и эффективным хранением извлеченных данных.

Обработка нумерации страниц

При скрапинге TechCrunch вы можете столкнуться с несколькими страницами списков статей. Чтобы собрать данные со всех страниц, вам нужно обработать пагинацию. Это подразумевает выполнение нескольких запросов и навигацию по каждой странице.

Понимание URL-адресов пагинации

Списки статей TechCrunch используют параметры URL для навигации между страницами. Например, URL для первой страницы может быть https://techcrunch.com/page/1/, в то время как вторая страница могла бы быть https://techcrunch.com/page/2/, И так далее.

Определить функцию пагинации

Эта функция будет управлять пагинацией, проходя по страницам и собирая данные до тех пор, пока не останется страниц для очистки.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
защиту scrape_techcrunch_с_пагинацией(базовый_url, начальная_страница=0, num_pages=1):
все_данные = []

для страница in ассортимент(начальная_страница, начальная_страница + число_страниц):
URL = f"{базовый_url}/страница/{страница}/"
Распечатать(f"Скрапинг страницы: {страница + 1}")

page_data = scrape_techcrunch_listings(url)
if данные_страницы:
все_данные.расширить(страница_данных)
еще:
Распечатать(f"Не удалось получить данные со страницы: {страница + 1}")
перерыв

возвращают все_данные

В этой функции:

  • base_url — это URL-адрес страницы листингов TechCrunch.
  • start_page указывает номер начальной страницы.
  • num_pages определяет, сколько страниц необходимо очистить.

Хранение данных в CSV-файле

Используя функцию ниже, вы можете сохранить извлеченные данные статьи в CSV-файл.

1
2
3
4
5
6
Импортировать панд as pd

защиту сохранить_данные_в_csv(данные, имя файла='techcrunch_listing.csv'):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь, кодировка='utf-8')
Распечатать(f"Данные успешно сохранены в {имя файла}")

Эта функция преобразует список словарей (содержащих извлеченные вами данные) в DataFrame, используя pandas а затем сохраняет его как CSV-файл.

Полный код

Вот полный код для скрапинга списков статей TechCrunch, обработки пагинации и сохранения данных в файл CSV. Этот скрипт объединяет все функции, которые мы обсудили, в один файл 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
Импортировать Запросы
от bs4 Импортировать КрасивыйСуп
Импортировать панд as pd

# Функция для извлечения списков статей TechCrunch
защиту scrape_techcrunch_listings(URL):
ответ = запросы.get(url)

if ответ.status_code == 200:
суп = КрасивыйСуп(ответ.контент, 'html.парсер')
статьи = суп.выбрать('div.wp-block-group > div.wp-block-tc23-post-picker-group > div.wp-block-tc23-post-picker')
данные = []

для статья in статьи:
title_element = статья.select_one('h2.wp-block-post-title')
заголовок = элемент_заголовка.текст.полоска() if title_element еще ''
ссылка = title_element.найти('а')['href'] if title_element еще ''
автор = статья.выберите_один('div.wp-block-tc23-author-card-name').текст.полоска() if статья.выберите_один('div.wp-block-tc23-author-card-name') еще ''
дата_публикации = статья.выберите_один('время')['дата-время'] if статья.выберите_один('время') еще ''
резюме = статья.выберите_один('p.wp-block-post-excerpt__excerpt').текст.полоска() if статья.выберите_один('p.wp-block-post-excerpt__excerpt') еще ''

данные.добавить({
'Заголовок': заголовок,
'Связь': связь,
«Автор»: автор,
«Дата публикации»: дата_публикации,
'Краткое содержание': краткое содержание
})

возвращают данным
еще:
Распечатать(f"Не удалось получить страницу. Код статуса: {response.status_code}")
возвращают Ничто

# Функция для обработки пагинации
защиту scrape_techcrunch_с_пагинацией(базовый_url, начальная_страница=1, num_pages=1):
все_данные = []

для страница in ассортимент(начальная_страница, начальная_страница + число_страниц):
URL = f"{базовый_url}/страница/{страница}/"
Распечатать(f"Скрапинг страницы: {страница}")

page_data = scrape_techcrunch_listings(url)
if данные_страницы:
все_данные.расширить(страница_данных)
еще:
Распечатать(f"Не удалось получить данные со страницы: {страница}")
перерыв

возвращают все_данные

# Функция сохранения данных в CSV
защиту сохранить_данные_в_csv(данные, имя файла='techcrunch_listing.csv'):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь, кодировка='utf-8')
Распечатать(f"Данные успешно сохранены в {имя файла}")

# Основная функция для запуска скребка
защиту main():
базовый_url = «https://techcrunch.com»
число_страниц_для_очистки = 5 # Укажите количество страниц, которые вы хотите очистить

all_article_data = scrape_techcrunch_with_pagination(base_url, num_pages=num_pages_to_scrape)

if все_данные_статьи:
сохранить_данные_в_csv(все_данные_статьи)
еще:
Распечатать(«Данные не собраны».)

if __имя__ == "__основной__":
Основной ()

Копирование страницы статьи TechCrunch

В этом разделе мы сосредоточимся на скрапинге отдельных страниц статей TechCrunch, чтобы собрать более подробную информацию о каждой статье. Это включает в себя проверку HTML-структуры страницы статьи, написание функции скрапера и сохранение собранных данных.

Проверка структуры HTML

Чтобы извлечь статьи TechCrunch, начните с поиска CSS-селекторов необходимых элементов из HTML-структуры страницы:

Изображение HTML-структуры страницы статьи Techcrunch
  1. Открытые инструменты разработчика: Посетите статью TechCrunch и откройте Инструменты разработчика с помощью Ctrl+Shift+I (Windows) или Cmd+Option+I (Mac).
  2. Определите ключевые элементы:
  • Название: Обычно в <h1> тег с классом wp-block-post-title.
  • Автор: Часто в <div> с классом wp-block-tc23-author-card-name.
  • Дата публикации: Найдено в <time> тег, с датой в datetime атрибутов.
  • Контент: Обычно в <div> с классом wp-block-post-content.

Написание статьи TechCrunch Page Scraper

Учитывая структуру HTML, давайте напишем функцию для извлечения подробной информации со страницы статьи TechCrunch.

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
Импортировать Запросы
от bs4 Импортировать КрасивыйСуп
Импортировать JSON

защиту scrape_techcrunch_статья(URL):
ответ = запросы.get(url)

if ответ.status_code == 200:
суп = КрасивыйСуп(ответ.контент, 'html.парсер')

# Извлечение заголовка
заголовок = суп.выберите_один('h1.wp-block-post-title').текст.полоска()

# Извлечение автора
автор = суп.выберите_один('div.wp-block-tc23-author-card-name > a').текст.полоска()

# Извлечение даты публикации
дата_публикации = суп.выберите_один('div.wp-block-post-date > время')['дата-время']

# Извлечение содержимого
содержимое = суп.выберите_один('div.wp-block-post-content').текст.полоска()

возвращают {
'Заголовок': заголовок,
«Автор»: автор,
«Дата публикации»: дата_публикации,
'Содержание': содержание
}
еще:
Распечатать(f"Не удалось получить статью. Код статуса: {response.status_code}")
возвращают Ничто

Тест скребка

Для тестирования скребка используйте следующий код:

1
2
3
4
URL = 'https://techcrunch.com/2024/08/11/oyo-valuation-crashes-over-75-in-new-funding/'
article_data = scrape_techcrunch_article(url)

Распечатать(json.dumps(article_data, отступ=2))

Создайте новый файл с именем techcrunch_article_scraper.py, скопируйте предоставленный код в этот файл и сохраните его. Запустите скрипт с помощью следующей команды:

1
python techcrunch_article_scraper.py

Вы должны увидеть вывод, аналогичный примеру ниже.

1
2
3
4
5
6
{
"Заголовок": «Оценка Oyo рухнула более чем на 75% при новом финансировании»,
"Автор": «Маниш Сингх»,
«Дата публикации»: "2024-08-11T06:07:12-07:00",
"Содержание": «Оценка Oyo, некогда второго по стоимости стартапа в Индии с капитализацией в 2019 миллиардов долларов, упала до 10 миллиарда долларов в ходе нового раунда финансирования, сообщили TechCrunch многочисленные источники... и это еще не все».
}

Хранение данных в CSV-файле

Для сохранения данных статьи вы можете использовать pandas для сохранения результатов в CSV-файл. Мы изменим предыдущую функцию save_data_to_csv, чтобы включить эту функциональность.

1
2
3
4
5
6
Импортировать панд as pd

защиту сохранить_данные_статьи_в_csv(данные, имя файла='techcrunch_articles.csv'):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь, кодировка='utf-8')
Распечатать(f"Данные статьи успешно сохранены в {имя файла}")

Полный код

Объединяя все это, получаем полный код для извлечения отдельных страниц статей TechCrunch и сохранения данных:

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
Импортировать Запросы
от bs4 Импортировать КрасивыйСуп
Импортировать панд as pd

# Функция для извлечения отдельных страниц статей TechCrunch
защиту scrape_techcrunch_статья(URL):
ответ = запросы.get(url)

if ответ.status_code == 200:
суп = КрасивыйСуп(ответ.контент, 'html.парсер')

# Извлечение заголовка
заголовок = суп.выберите_один('h1.wp-block-post-title').текст.полоска()

# Извлечение автора
автор = суп.выберите_один('div.wp-block-tc23-author-card-name > a').текст.полоска()

# Извлечение даты публикации
дата_публикации = суп.выберите_один('div.wp-block-post-date > время')['дата-время']

# Извлечение содержимого
содержимое = суп.выберите_один('div.wp-block-post-content').текст.полоска()

возвращают {
'Заголовок': заголовок,
«Автор»: автор,
«Дата публикации»: дата_публикации,
'Содержание': содержание
}
еще:
Распечатать(f"Не удалось получить статью. Код статуса: {response.status_code}")
возвращают Ничто

# Функция сохранения данных статьи в CSV
защиту сохранить_данные_статьи_в_csv(данные, имя файла='techcrunch_articles.csv'):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь, кодировка='utf-8')
Распечатать(f"Данные статьи успешно сохранены в {имя файла}")

# Пример использования
if __имя__ == "__основной__":
# Заменить реальными URL-адресами статей
URL-адреса_статей = [
'https://techcrunch.com/2024/08/10/example-article/',
'https://techcrunch.com/2024/08/11/another-article/'
]

все_данные_статьи = []
для URL in URL-адреса статей:
article_data = scrape_techcrunch_article(url)
if данные_статьи:
все_данные_статьи.append(данные_статьи)

сохранить_данные_статьи_в_csv(все_данные_статьи)

Вы можете адаптировать article_urls список, включающий URL-адреса статей, которые вы хотите извлечь.

Оптимизация скрапинга с помощью Crawlbase Crawling API

При сборе данных TechCrunch могут возникнуть некоторые проблемы, такие как блокировка IP-адресов, ограничение скорости и динамический контент. Crawlbase Crawling API может помочь преодолеть эти препятствия и обеспечить более плавный процесс очистки. Вот как Crawlbase может оптимизировать ваши усилия по парсингу:

Обход проблем со скрапингом

  1. Блокировка IP и ограничение скорости: Такие сайты, как TechCrunch, могут заблокировать ваш IP-адрес, если за короткий период времени будет сделано слишком много запросов. Чтобы снизить риск обнаружения и блокировки, Crawlbase Crawling API переключается между разными IP-адресами и управляет частотой запросов.
  2. Динамический контент: Некоторые страницы в TechCrunch загружают определенный контент с помощью JavaScript, что затрудняет доступ к ним традиционным скраперам напрямую. Отображая JavaScript, Crawlbase Crawling API позволяет получить доступ к каждому элементу на странице.
  3. CAPTCHA и меры по борьбе с ботами: TechCrunch может использовать CAPTCHA и другие антибот-технологии для предотвращения автоматического сбора данных. Crawlbase Crawling API можно обойти эти меры, что позволит собирать данные без перебоев.
  4. Geolocation: TechCrunch может предоставлять разный контент в зависимости от местоположения. Crawlbase Crawling API позволяет вам указывать страну для ваших запросов, гарантируя получение релевантных данных на основе вашего целевого региона.

Реализация Crawlbase в вашем скребке

Чтобы интегрировать Crawlbase Crawling API в свой скрапер TechCrunch, выполните следующие действия:

  1. Установить Crawlbase Библиотека: Установите Crawlbase Библиотека Python с использованием pip:
1
pip установить crawlbase
  1. Настроить Crawlbase API: Инициализировать Crawlbase API с вашим токеном доступа. Вы можете получить его, создав учетную запись на Crawlbase.
1
2
3
4
от база сканирования Импортировать CrawlingAPI

# Инициализация Crawlbase API с вашим токеном доступа
crawling_api = CrawlingAPI({токен: 'ВАШ_ТОКЕН_БАЗЫ_КРАНА'})

Внимание: Crawlbase предоставляет два типа токенов: обычный токен для статических веб-сайтов и токен JavaScript (JS) для обработки динамических или браузерных запросов. В случае TechCrunch вам нужен обычный токен. Первые 1,000 запросов бесплатны для начала работы, кредитная карта не требуется. Читать Crawlbase Crawling API документации здесь.

  1. Функция обновления скребка: Измените ваши функции очистки, чтобы использовать Crawlbase API для выполнения запросов. Вот пример того, как обновить scrape_techcrunch_listings функция:
1
2
3
4
5
6
7
8
9
10
защиту scrape_techcrunch_listings(URL):
варианты = {
'страна': 'НАС', # Установите предпочтительную страну или удалите ее для настроек по умолчанию
'user_agent': «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/123.0.0.0 Safari/537.36»
}
ответ = crawling_api.get(url, параметры)

if ответ["заголовки"]['статус_ПК'] == '200':

# оставшаяся функция та же, что и раньше

Благодаря использованию Crawlbase Crawling API, вы сможете эффективно решать частые проблемы со сбором данных и извлекать данные из TechCrunch, не опасаясь блокировки.

Заключительные мысли (Scrape TechCrunch с Crawlbase)

Сбор данных из TechCrunch может предоставить ценную информацию о последних тенденциях, инновациях и влиятельных фигурах в технологической отрасли. Извлекая информацию из статей и списков, вы можете быть в курсе новых технологий и ключевых игроков в этой области. Это руководство показало вам, как настроить среду Python, написать функциональный скрапер и оптимизировать свои усилия с помощью Crawlbase Crawling API для преодоления распространенных проблем со скрапингом.

Если вы хотите расширить свои возможности по парсингу веб-сайтов, рассмотрите возможность изучения наших следующих руководств по парсингу других важных веб-сайтов.

📜 Как скопировать Bloomberg
📜 Как скопировать Википедию
📜 Как использовать Google FInance
📜 Как извлечь данные из Google News
📜 Как очистить Clutch.co

Если у вас есть какие-либо вопросы или пожелания, наш команда поддержки всегда готов помочь вам в вашем путешествии по веб-скрапингу. Счастливого скрапинга!

Часто задаваемые вопросы (FAQ)

Сбор данных с таких сайтов, как TechCrunch, поднимает юридические и этические вопросы. Необходимо узнать больше об условиях обслуживания используемой платформы, в данном случае TechCrunch, поскольку у них иногда есть особые политики в отношении использования определенных форм сбора данных. Убедитесь, что ваши операции по сбору данных соответствуют этим положениям, и воздержитесь от нарушения правил защиты данных, таких как GDPR или CCPA. Рекомендуется обратиться к юридическим консультантам, чтобы прояснить любые потенциальные правовые вопросы, связанные с правовыми и этическими вопросами, касающимися сбора данных.

В. Что делать, если мой IP-адрес заблокирован во время парсинга?

Если ваш IP-адрес блокируется при парсинге TechCrunch, вы можете предпринять несколько мер для смягчения этой проблемы. Реализуйте ротацию IP-адресов с помощью прокси-сервисов или инструментов парсинга, таких как Crawlbase Crawling API, который автоматически меняет IP-адреса, чтобы избежать обнаружения. Вы также можете настроить частоту запросов, чтобы имитировать поведение человека при просмотре, снижая риск срабатывания мер по борьбе с парсингом.

В. Как я могу улучшить производительность своего парсера TechCrunch?

Некоторые из методов, которые могут помочь вам оптимизировать работу скрапера для более быстрой работы, — это многопоточность или асинхронные запросы. Сократите количество операций, которые просто не требуются, и используйте специальные библиотеки, такие как библиотека pandas, для эффективного представления данных. Также, Crawlbase Crawling API может повысить производительность за счет управления ротацией IP-адресов и обработки CAPTCHA, обеспечивая бесперебойный доступ к данным, которые вы хотите извлечь.