Содержание: вступление, импорт, то, что будет скранировано, процесс, код, ссылки, outro.
вступление
В этом сообщении содержится визуальная информация о том, как скрепить поиски, связанные с Bing с помощью Python.
Импорт
from bs4 import BeautifulSoup import requests import lxml from serpapi import GoogleSearch import os # used for creating an environment variable on replit.com
Что будет соскреблено
Процесс
Выбор правильных селекторов CSS. Я покажу два подхода:
- Использование инструментов Chrome Dev для просмотра макета HTML и селекторов тестирования с Selectorgadget расширение
- Использование исключительно расширения SelectorGadget
Оттуда любой из селекторов из двух подходов будет работать:
Код
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/70.0.3538.102 Safari/537.36 Edge/18.19582" } html = requests.get('https://www.bing.com/search?q=lion king&hl=en', headers=headers) soup = BeautifulSoup(html.content, 'lxml') for related_search in soup.select('.b_rs ul li'): title = related_search.text link = f"https://www.bing.com{related_search.a['href']}" print(f'{title}\n{link}') # part of the output: ''' lion https://www.bing.com/search?q=lion&FORM=QSRE1 jeremy irons https://www.bing.com/search?q=jeremy+irons&FORM=QSRE2 '''
Использование API поиска, связанных с Bing, API
Serpapi – это платный API с бесплатным испытанием 5000 обысков. Вот как вы можете получить результаты:
from serpapi import GoogleSearch import os params = { "api_key": os.environ["API_KEY"], # pycharm environment "engine": "bing", "q": "lion king" } search = GoogleSearch(params) results = search.get_dict() for result in results['related_searches']: query = result['query'] link = result['link'] print(f'{query}\n{link}') # part of the output: ''' elton john circle of life https://www.bing.com/search?q=elton+john+circle+of+life&FORM=QSRE1 lion king theatre https://www.bing.com/search?q=lion+king+theatre&FORM=QSRE2 '''
Ссылки
Код в онлайн -IDE • Bing, связанные с поиском API
Опередить
Если у вас есть какие -либо вопросы или что -то не работает правильно или вы хотите написать что -нибудь еще, не стесняйтесь бросить комментарий в разделе комментариев или через Twitter в @serp_api Анкет
Ваш, Dimitry и остальная часть команды Serpapi.
Оригинал: “https://dev.to/dimitryzub/scrape-bing-related-searches-with-python-1b86”