У меня есть excel файл с 1000 строками, в каждой набор символов из 10 символов. Мне нужно каждый из них вставить поочередно в поиск, например, яндекса. Если выдаваемых результатов более одного - как то отметить эту строку, которую поисковик нашел. (потом я уже в ручную поиск повторю с нужной строкой) По одному результату будет в каждой строке, а я ищу когда 2 и более.
Ответ
Можно написать функцию, возвращающую число результатов поиска.
Пример:
import re
import requests
from bs4 import BeautifulSoup
def get_search_results_no(search_str):
r = requests.get('http://www.google.com/search',
params={'q':f'{search_str}'}
)
if not r.ok:
r.raise_for_status()
soup = BeautifulSoup(r.text, 'lxml')
n = re.sub('\D', '', re.sub('[^\d]*\s(\d.*\d)\s[^\d]*', r'\1',
soup.find('div',{'id':'resultStats'}).text))
if n == '':
return 0
return int(n)
Использование:
In [149]: get_search_results_no('MaxU')
Out[149]: 1050000
In [150]: get_search_results_no('Кирилл Вишняков')
Out[150]: 983000
Комментариев нет:
Отправить комментарий