如何使用 Python 对 Google 进行抓取

方法, 蟒蛇, 搜索, Nov-15-20225 分钟阅读

在互联网上搜索信息方面,谷歌是所有搜索引擎中的佼佼者。据估计,每天在谷歌搜索上进行的搜索次数超过 35 亿次。我们(谷歌用户)只能通过谷歌分析和谷歌广告获得一定量的信息。谷歌使用其 API

目录

在互联网上搜索信息方面,谷歌是所有搜索引擎中的佼佼者。据估计,每天在谷歌搜索上进行的搜索次数超过35 亿次。我们(谷歌用户)只能通过谷歌分析和谷歌广告获得一定量的信息。谷歌使用其API(应用程序接口),基本上是根据其研究和排名选择对我们最有价值的信息。但是,如果我们想更深入地了解哪些信息对您真正有价值呢? 

这就需要使用搜刮工具。你可以把谷歌搜索器想象成一种突出显示书中最重要章节的方法。当你扫描教科书获取信息时,你往往会挑选出对你的研究或测试最有价值的文字。但万维网比一本 1000 页的书更大。因此,在互联网上,Google scraper 可以成为你的 "激光眼",立即抓取并收集你想知道的主题的热门结果。您可以根据特定关键词提取 Google 搜索结果。例如,如果你使用关键字 "狮子 "进行 Google 搜刮,Google 网络搜刮工具就会根据该关键字为你提供一定数量的热门 URL。使用的关键词越多,Google 就会为你提供更具体的 URL 和数据。数据越具体,就越能满足您的要求。但让我们先来了解一下搜索 Google 的必要性。

为什么需要搜索 Google?

要知道,谷歌是数十亿人进入互联网的主要入口,几乎每家企业都希望出现在谷歌搜索结果中。谷歌评分和评论对本地企业的在线形象有着巨大的影响。拥有众多不同行业客户的营销机构非常依赖于获得可靠的搜索引擎优化(SEO)工具。它们是有效执行各种任务的手段,也是成功管理和分析结果的手段。 

以下是搜索 Google 的一些使用案例。

  • 您可以分析给定关键字集的广告。
  • 您可以监控有机结果和付费结果中的竞争情况。
  • 您可以针对特定关键词建立 URL 列表。 

企业需要搜索 Google 的原因如下。

  • 搜索引擎优化(SEO)--谷歌搜索可显示公司网站页面在谷歌搜索结果页面上的排名,并可了解网站在任何页面上使用了多少关键词。网站使用的关键词越多,该页面在结果页面上的排名就越高。因此,了解如何利用搜索引擎优化可使您的企业保持高度竞争力。
  • 营销--我们在屏幕上看到的亚马逊标志越多,当我们需要购买时就越有可能前往亚马逊。谷歌搜索有助于收集有关竞争对手如何宣传产品、他们选择宣传哪些产品以及客户对这些产品的反应的数据。 
  • 有竞争力的销售策略 - Google 搜索帮助贵公司制定更具竞争力的销售策略。如果贵公司在某一结果页面上排名靠后,这可能会让人洞察到贵公司的某一产品不成功的原因。谷歌搜索使您在竞争中占得先机,并提供了在这个世界上具有竞争力的新方法。 

使用 Python 搜索 Google

让我们看看如何使用 python 对 Google 进行搜索。

安装

首先,你需要安装一个假的用户代理。它通过真实世界的数据库抓取最新的用户代理。

pipinstallfake-useragent

导入图书馆

您必须导入所有必要的库,如下图所示。

importpandasaspd
importnumpyasnp
导入urllib
fromfake_useragentimportUserAgent
导入请求
importre
fromurllib.requestimportRequest, urlopen
frombs4importBeautifulSoup

使用关键字

您必须使用关键字和结果数量创建 Google URL。为此,我们将遵循以下两个步骤:

使用 urllib 将关键词编码为 HTML 在 URL 中添加 ID

我们假设我们的关键词是 "机器学习 python"。

keyword="机器学习 python"
html_keyword= urllib.parse.quote_plus(keyword)
打印(html_keyword)

当我们打印出关键字时,会得到以下结果。

创建 Google URL

使用 urllib 将关键字编码为 HTML 后,我们必须创建如下所示的 Google URL。

number_of_result=15
google_url= "https://www.google.com/search?q="+html_keyword+"&num="+str(number_of_result)
print(google_url)

我们得到的 URL 如下

获取结果

现在,我们必须点击 URL 并获取结果。为此,Beautiful Soup Fake Useragent将为我们提供帮助。

ua = UserAgent()
response = requests.get(google_url, {"User-Agent": ua.random})
soup = BeautifulSoup(response.text, "html.parser")

我们只需要正则表达式来提取我们想要的信息。

result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
#this is because in rare cases we can't get the urls
links=[i.group(1) for i in results if i != None]
links

这就是我们的结果。

这就是如何使用 Python 对 Google 进行搜索。 

我们也可以将上述代码合并为一个刮板函数,如下所示。

def google_results(keyword, n_results):
    query = keyword
    query = urllib.parse.quote_plus(query) # Format into URL encoding
    number_result = n_results
    ua = UserAgent()
    google_url = "https://www.google.com/search?q=" + query + "&num=" + str(number_result)
    response = requests.get(google_url, {"User-Agent": ua.random})
    soup = BeautifulSoup(response.text, "html.parser")
    result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
    results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
    links=[i.group(1) for i in results if i != None]
    return (links)

在这里,google_results 是我们的刮擦函数,我们将关键字和结果数量作为参数传递,然后建立 Google URL。

谷歌结果('machine learning in python',10)

这就是我们的结果。

代理人的使用

如果要连接Google Ads API 怎么办?您可以通过代理来实现,方法是在 google-ads.yaml 文件中设置 http_proxy 配置,如下所示。

http_proxy:在此处插入代理

您可以指定 http://user:pass@localhost:8082 作为代理。您还可以借助 GoogleAdsClient 方法,以编程方式配置代理设置:

  • load_from_dict
  • 从环境载入
  • 从字符串加载

例如 

config = {
  ...
  "http_proxy": "INSERT_PROXY_HERE",
}
googleads_client = GoogleAdsClient.load_from_dict(config)

要通过 load_from_env 方法使用代理,必须设置 GOOGLE_ADS_HTTP_PROXY 环境变量。

为什么使用 Google 代理?

使用 Google 代理的原因如下。

  • 获得快速、独特的结果 - 包括谷歌在内的所有搜索引擎都不赞成使用自动软件提取结果。当它们发现来自一个 IP 地址的多个搜索查询时,就会屏蔽该 IP 地址,阻止它访问任何数据。因此,有了一大批独一无二的专用私人代理,您不仅可以使用自动软件提取谷歌搜索结果,还能以极快的速度获取数据。
  • 保护隐私--谷歌代理可确保您的原始 IP 地址安全可靠,不会受到任何黑客攻击。它们还能确保您电脑中的敏感信息保存在安全的位置。
  • 自动化 - 自动化软件使用优质代理服务器正常运行,您无需在购买专用代理服务器和自动化软件的同时购买其他任何东西。

结论

您可以使用 Python 对 Google进行搜索:

  • 竞争对手分析
  • 建立链接
  • 突出社会存在
  • 搜索关键词

从 Google 搜刮数据时,代理是必不可少的,因为它们可以帮助公司提高在搜索引擎上的排名,并防止其 Internet IP 被屏蔽。你可以使用一大批专用代理来搜索 Google,它们可以帮助你快速获取数据。

希望你已经了解了如何使用 Python 对 Google 进行搜索。