Як скрапити 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 без турбот про ротацію проксі та антибот-механізми.

