Откройте браузер с python вместе с командой поиска - PullRequest
0 голосов
/ 19 декабря 2018

Моя точная формулировка проблемы:

У меня есть:

  1. sim_ques (текст) & 2. options (список)

и я хочу сделать это:

  1. Откройте веб-браузер, например, Chrome, и выполните поиск по строке search_query
  2. нажмите Ctrl+ F программно и искать элемент списка options

если возможен шаг 2, я хочу найти несколько строк в одном браузере.

NOTE

Я уже пробовал:

  1. Используя Google-search-api (https://github.com/abenassi/Google-Search-API), чтобы получить результаты и затем получить описания ссылок из списка.Затем я искал строку в этом описании.

Здесь показан код:

print('Googling')
num_pages = 1
points = list()
content = ""

search_res = google.search(sim_ques, num_pages)
print('\nsearch results achieved\n')

page = ""

for re in search_res:
    page = page+re.description

page = page.lower()

# link = search_res[0].link
# print('\nlink obtained\n')
#
# content = get_page(link)
# print('\ncontent recieved\n')
#
# soup = BeautifulSoup(content, "lxml")
# print('\nsoup initialized\n')
#
# # kill all script and style elements
# for script in soup(["script", "style"]):
#     script.decompose()  # rip it out
#
# # get text
# text = soup.get_text().lower()
#
# # break into lines and remove leading and trailing space on each
# lines = (line.strip() for line in text.splitlines())
# # break multi-headlines into a line each
# chunks = (phrase.strip() for line in lines for phrase in line.split("  "))
# # drop blank lines
# page = '\n'.join(chunk for chunk in chunks if chunk)

print('page retrieved' + page)

for o in options:
    points.append(page.count(o.lower()))

return points

Но я хочу получить результаты в новом браузере, а не внутри python ide. Также результатыGoogle-поиск-API очень медленно. Есть ли что-нибудь, чтобы сделать это быстро.

1 Ответ

0 голосов
/ 19 декабря 2018

Несмотря на то, что вы пытались использовать Google-search-api https://github.com/abenassi/Google-Search-API,, на самом деле это всего лишь оболочка для некоторого очищающего кода, а низкая производительность, которую вы испытываете, является результатом конкретной реализации.

Чтобы получить производительностьАналогично производительности, которую вы испытываете при использовании поиска Google в браузере, вы можете настроить пользовательский поиск в реальном JSON API пользовательского поиска Google, подробнее здесь https://developers.google.com/custom-search/v1/introduction

Для этого необходимо получить ключ API иограничивает вас до 10 000 поисковых запросов в день, но панель управления позволяет включать веб-поиск, и вы можете настраивать фактический поиск разными способами.Многие люди игнорируют эту опцию, потому что считают, что она ограничена одним сайтом.

После того, как вы получите ключ API и настроите свою систему пользовательского поиска, его использование и получение хорошей производительности так же просто, как базовые вызовы http, использующиестандартный пакет Python 3 urllib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...