Як скрапити Google News: покроковий посібник

Google News є спеціалізованим сервісом агрегації новин, який збирає та висвітлює важливі історії з усього світу, підлаштовуючись під інтереси користувача. Він агрегує статті та заголовки з різних джерел, роблячи їх легко доступними на будь-якому пристрої. Помітна функція «Full Coverage» пропонує глибший огляд новинних історій, демонструючи різні погляди з кількох медіа.

Цей посібник проведе вас через побудову Google News scraper на Python з нуля. Він надасть вам знання, потрібні, щоб подолати виклики, зумовлені механізмами Google News для захисту від ботів. Перш ніж заглиблюватися, варто ознайомитися з основами новинного вебскрапінгу.

Удоскональте вебскрапінг Google News за допомогою SERP API від Oxylabs

Наша мета з цим скрапером — спростити ваші завдання з вебскрапінгу, тепер і надалі, ефективно обробляючи будь-які ускладнення, що виникають. Завдяки SERP API від Oxylabs ви можете без зусиль збирати дані в реальному часі та отримувати доступ до результатів пошуку практично звідусіль, не переймаючись антибот-обмеженнями.

Ба більше, Oxylabs пропонує безкоштовний тижневий пробний період, що дає змогу ретельно тестувати й удосконалювати ваш scraper, водночас вивчаючи його можливості.

Початкове налаштування — отримання облікових даних для SERP API від Oxylabs

Зареєструйтеся та увійдіть до панелі керування, щоб згенерувати та отримати ваш SERP API облікові дані, необхідні для подальших кроків.

Installing Required Libraries

Щоб почати, встановіть необхідні бібліотеки Python: requests, bs4 і pandas. Використовуючи pandas, ви створите CSV-файл для архівування заголовків із Google News.

Install Pandas Command:

pip install pandas

Making API Requests

Підготуйте своє корисне навантаження та облікові дані для надсилання запитів через SERP API. Для рендерингу JavaScript потрібно встановити параметр ‘render’ у значення ‘html’, щоб повідомити API про необхідність обробляти JavaScript. Також задайте ‘source’ як ‘google’ і вкажіть цільову URL-адресу. Не забудьте замінити ‘USERNAME’ і ‘PASSWORD’ на свої фактичні облікові дані.

Налаштування payload і облікових даних:

Виконайте POST-запит через модуль requests.

API Request Command:

python Скопіювати код response = requests.post( ‘https://realtime.oxylabs.io/v1/queries',
 auth=credential,
 json=payload,
)
print(response.status_code)

Успішний запит поверне код статусу 200. Зверніться до документації API щодо будь-яких інших кодів статусу, з якими ви зіткнетеся.

Inspecting Web Elements

Щоб розібрати заголовки новин, визначте потрібні HTML-елементи, переглянувши домашню сторінку Google News у веббраузері. Використовуйте інструменти розробника, доступні через клацання правою кнопкою миші або CTRL SHIFT I.

Data Parsing

Усі новинні заголовки містяться всередині

Теги. Використовуйте інструменти розробника, щоб дослідити вихідний HTML і визначити свою стратегію парсингу.

Parsing Command:

data = []
soup = BeautifulSoup(response.json()[“results”][0][“content”], “html.parser”)
for headline in soup.find_all(“h4”):
 data.append(headline.text)

The find_all() method enables the collection of all headlines, which are then added to the ‘data’ list for CSV export.

Експорт даних у CSV

Спочатку зберіть дані в DataFrame, а потім експортуйте їх у CSV-файл, відмовившись від включення стовпця індексу для охайнішого файлу.

Data Export Command:

df = pd.DataFrame(data)
df.to_csv(“google_news_data.csv”, index=False)

Conclusion

Використання рішень Oxylabs для вебскрапінгу допомагає вам залишатися в курсі останнього з Google News. Скористайтеся надійним Oxylabs’ Google News Scraper API, щоб посилити свої проєкти з вебскрапінгу. Описані тут стратегії дають змогу ефективно витягувати дані з Google News без турбот про ротацію проксі та антибот-механізми.

Схожі записи