Содержание: введение, импорт, что будет соскрешено, процесс, код, ссылки, OUTRO.
вступление
Этот пост блога является продолжением серии SCRAPING BING BING и содержит информацию о том, как царапать результаты объявления от поиска Bing с использованием Python. Будет показано альтернативное решение API с использованием Serpapi.
Импорт
from bs4 import BeautifulSoup import requests import lxml from serpapi import GoogleSearch
Что будет соскрешено
Расширенная реклама
Встроенные объявления
Процесс
Выбор заголовка/ссылки CSS
Селекторы из расширенных результатов объявлений
Выбор заголовка/ссылки CSS
Селекторы из встроенных результатов рекламы
Снаппин встроенной рекламы:
for inline_ad in soup.select('.b_algo .b_vList.b_divsec .b_annooverride a'): inline_ad_title = inline_ad.text inline_ad_link = inline_ad['href']
Расширенная реклама Код Snippet:
for expanded_ad in soup.select('.deeplink_title'): expanded_ad_title = expanded_ad.text expanded_ad_link = expanded_ad.a['href']
Код
from bs4 import BeautifulSoup import requests, lxml headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" } html = requests.get('https://www.bing.com/search?q=john deere tractors buy', headers=headers) soup = BeautifulSoup(html.text, 'lxml') try: for expanded_ad in soup.select('.deeplink_title'): expanded_ad_title = expanded_ad.text expanded_ad_displayed_link = expanded_ad.a['href'] print(f'{expanded_ad_title}\n{expanded_ad_displayed_link}') except: pass try: for inline_ad in soup.select('.b_algo .b_vList.b_divsec .b_annooverride a'): inline_ad_title = inline_ad.text inline_ad_displayed_link = inline_ad['href'] print(f'{inline_ad_title}\n{inline_ad_displayed_link}') except: pass # parts of the output: ''' # expanded ads Compact Tractors https://www.deere.com/en/tractors/compact-tractors/ View The Utility Tractors https://www.deere.com/en/tractors/utility-tractors/ --------------------------------------------------- # inline ads 2032R https://www.deere.com/en/tractors/compact-tractors/2-series-compact-tractors/2032r/ 1025R https://www.deere.com/en/tractors/compact-tractors/1-series-sub-compact-tractors/1025r/ '''
Использование API результатов Bing AD
Serpapi – это платный API с бесплатной пробной версией 5000 поисков.
from serpapi import GoogleSearch params = { "api_key": "YOUR_API_KEY", "engine": "bing", "q": "john deere tractors" } search = GoogleSearch(params) results = search.get_dict() for ads in results['ads']: title = ads['title'] link = ads['displayed_link'] print(title) print(link) # part of the output: ''' John Deere® Official Site - The Select Series Tractors https://www.deere.com John Deere Tractors | tractorhouse.com https://www.tractorhouse.com/JohnDeere/Tractors '''
Ссылки
Код в онлайн-IDE • Результаты результатов объявлений Bing
Outro.
Если у вас есть какие-либо вопросы или что-то не работает правильно, или вы хотите написать что-то еще, не стесняйтесь бросить комментарий в разделе комментариев или через Twitter на @serp_api Отказ
Твой, димитрий, а остальная часть команды серпапи.
Оригинал: “https://dev.to/serpapi/scrape-bing-ad-results-using-python-37o6”