使用python和搜索命令打开浏览器

时间:2018-12-19 03:19:27

标签: python browser google-search

我确切的问题陈述是:

我有:

  1. sim_ques (文本)和2。选项(列表)

我想这样做:

  1. 打开网络浏览器(例如chrome),然后使用字符串 search_query
  2. 搜索
  3. 以编程方式按ctrl + F并搜索列表选项
  4. 中的元素

如果可以执行步骤2,我想在同一浏览器中搜索多个字符串。

注意

我已经尝试过:

  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-search-api的结果也很慢。有什么可以使它快的吗?

1 个答案:

答案 0 :(得分:0)

尽管您尝试使用Google-search-api https://github.com/abenassi/Google-Search-API,但这实际上只是一些抓取代码的包装,而您遇到的性能不佳是特定实现的结果。

要获得与您在浏览器中使用Google搜索时所获得的性能相似的性能,您可以在实际的Google Custom Search JSON API上设置自定义搜索,更多信息请点击https://developers.google.com/custom-search/v1/introduction

这要求您获取API密钥,并且每天最多只能进行10,000次搜索,但是控制面板确实允许您包括网络搜索,并且可以通过多种方式调整实际搜索。许多人无视此选项,因为他们认为此选项仅限于单个站点。

获得API密钥并设置自定义搜索引擎后,使用它并获得良好的性能就像使用标准Python 3软件包urllib进行基本的http调用一样简单。