خراش دادن وب گوگل اخبار با استفاده از پایتون
پایتون محبوب ترین زبان برای خراش دادن وب. این زبان به طور گسترده در ساخت اسکراپرهای وب خودکار برای استخراج داده های با ارزش موجود در اینترنت برای اهداف مختلف مانند تجزیه و تحلیل داده ها، نظارت بر SEO، اخبار و نظارت بر رسانه ها استفاده می شود.
در این پست، ما یک ابزار خراش دادن وب را ایجاد خواهیم کرد نتایج Google News را خراش دهید با پایتون و Google News API.
چرا نتایج Google News را خراش دهیم؟
Scraping نتایج Google News چندین مزیت را ارائه می دهد، از جمله:
نظارت بر برند – حذف نتایج Google News می تواند به شما کمک کند تا دیدگاه رسانه ای و عمومی در مورد برند خود را زیر نظر داشته باشید. این به شما کمک می کند تا هر موضوع یا تبلیغات منفی در مورد شرکت خود را که می تواند بر تجارت شما تأثیر بگذارد را بررسی کنید.
شما را به روز نگه می دارد – نتایج اخبار شما را در مورد رویدادهای سیاسی جاری در جهان به روز می کند. همچنین به شما کمک میکند تا پیشرفتهای فعلی در حوزههای مورد علاقهتان را بررسی کنید.
تحقیقات بازار – نتایج Google News میتواند به شما کمک کند تا روندهای مختلف تاریخی در صنعت خود را مطالعه کنید و دادهها همچنین میتوانند برای اهداف مبتنی بر تحقیق مانند احساسات مصرفکننده، تجزیه و تحلیل رقبا و غیره استفاده شوند.
تجزیه و تحلیل رقبا – میتوانید از دادههای اخبار برای نظارت بر آخرین پیشرفتها و راهاندازی محصولات جدید توسط رقیب خود استفاده کنید. همچنین میتوانید استراتژی رسانهای آنها را مطالعه کنید تا هر گونه خلأ در تاکتیکهای خود را در هنگام برخورد با بازاریابی رسانهای شناسایی کنید.
بیایید شروع به خراش دادن اخبار گوگل با استفاده از پایتون کنیم
در این پست، ما یک اسکریپت پایتون برای استخراج 100 نتیجه اول Google News از جمله عنوان، توضیحات، پیوند، منبع و تاریخ میسازیم.
الزامات
برای حذف Google News، این دو کتابخانه را نصب خواهیم کرد:
-
سوپ زیبا – برای تجزیه داده های خام HTML استفاده می شود.
-
درخواست ها – برای ایجاد درخواست های HTTP استفاده می شود.
یا می توانید با اجرای دستور زیر در ترمینال خود مستقیماً این کتابخانه ها را نصب کنید:
pip install requests
pip install beautifulsoup4
روند:
قبل از شروع، فرض میکنم پروژه پایتون خود را روی دستگاه خود راهاندازی کردهاید. بنابراین، فایل پروژه را در ویرایشگر کد مربوطه خود باز کنید و این دو کتابخانه را وارد کنید که در این آموزش از آنها استفاده خواهیم کرد.
import requests
import json
from bs4 import BeautifulSoup
اکنون، بیایید یک تابع برای خراش دادن نتایج Google News ایجاد کنیم:
def getNewsData():
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36"
}
response = requests.get("https://www.google.com/search?q=amazon&gl=us&tbm=nws&num=100", headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
news_results = []
ابتدا، هدر را روی User Agent قرار می دهیم، که به ما کمک می کند تا ربات خراش دهنده خود را به بازدید ارگانیک از Google برسانیم. سپس با استفاده از کتابخانه درخواستی که در بالا وارد کرده بودیم، یک درخواست HTTP روی URL هدف ایجاد کردیم و HTML استخراج شده را در متغیر پاسخ ذخیره کردیم. و در خط آخر، نمونه ای از کتابخانه BeautifulSoup برای تجزیه داده های HTML ایجاد کردیم.
اجازه دهید اکنون برچسب ها را از HTML جستجو کنیم تا داده های مورد نیاز را استخراج کنیم.
اگر فایل HTML را بررسی کنید، میبینید که هر نتیجه یا مقاله خبری داخل آن است div.SoaBEf
برچسب زدن و پس از جستجوی بیشتر در ظرف، برچسب عنوان را پیدا خواهید کرد div.mCBkyc
، شرح به عنوان GI74Re
، و منبع به عنوان .NUnG9d span
و تاریخ به عنوان ZE0LJd span
.
اکنون این تگ ها را در تجزیه کننده خود اضافه کنید:
for el in soup.select("div.SoaBEf"):
news_results.append({
"link": el.find("a")["href"],
"title": el.select_one("div.mCBkyc").get_text(),
"snippet": el.select_one(".GI74Re").get_text(),
"date": el.select_one(".ZE0LJd span").get_text(),
"source": result.css(".NUnG9d span").get()_text(),
})
print(json.dumps(news_results, indent=2))
getNewsData()
خوب، اجازه دهید اکنون این کد را در ترمینال خود اجرا کنیم تا نتایج را ببینیم:
[
{
"link": "https://people.com/home/housewarming-gifts-amazon-march-2023/",
"title": "15 Beautiful Housewarming Gifts Under $100 at Amazon",
"snippet": "Peak moving season has arrived, and you may have a few housewarmings on the \nhorizon. Don't show up empty-handed \u2014 pick up one of these...",
"date": "6 hours ago",
"source": "People"
},
{
"link": "https://www.yahoo.com/lifestyle/zombie-pack-mask-amazon-deal-154108906.html",
"title": "'I look 7 years younger': The popular Zombie Mask is down to $17 at Amazon, \ntoday only",
"snippet": "Daydreaming about having tighter skin? How about smaller pores? We're \nalways on the lookout for beauty products that can help get back that...",
"date": "2 hours ago",
"source": "Yahoo"
},
{
"link": "https://people.com/home/front-porch-spring-decor-under-25-amazon/",
"title": "10 Under-$25 Amazon Finds to Upgrade Your Front Porch This Spring",
"snippet": "If you're looking to give your front porch a spring-ready makeover, check \nout Amazon's selection of front porch decor.",
"date": "4 hours ago",
"source": "People"
},
با Google News API
اگر نمی خواهید اسکراپر را در طولانی مدت کدنویسی و نگهداری کنید، می توانید ما را امتحان کنید Google News API برای خراش دادن نتایج اخبار.
ما همچنین 100 درخواست رایگان در اولین ثبت نام ارائه می دهیم.
پس از ثبت نام در وب سایت ما، یک کلید API دریافت خواهید کرد. این کلید API را در کد زیر جاسازی کنید، میتوانید نتایج Google News را در یک خراش دهید سرعت بسیار بیشتر.
import requests
payload = {'api_key': 'APIKEY', 'q':'football' , 'gl':'us'}
resp = requests.get('https://api.serpdog.io/news', params=payload)
print (resp.text)
نتیجه:
در این آموزش، ما یاد گرفتیم که نتایج Google News را با استفاده از Node JS خراش دهیم. هر چیزی که نیاز به توضیح دارید به من پیام دهید. من را دنبال کنید توییتر. با تشکر برای خواندن!
منابع اضافی
-
چگونه با استفاده از Node JS نتایج جستجوی ارگانیک گوگل را خراش دهیم؟
-
نتایج Google Images را خراش دهید
-
نتایج خرید گوگل را پاک کنید
-
نظرات Google Maps را پاک کنید
سوالات متداول
س. آیا می توانید نتایج Google News را خراش دهید؟
بله، Serpdog API میتواند نتایج Google News را حذف کند و میتواند در هر ثانیه میلیونها تماس API را بدون مشکل انسداد و CAPTCHA تحمل کند.