Python:Google搜索结果抓取

Python:Google搜索结果抓取,python,web-scraping,Python,Web Scraping,我试图通过在谷歌搜索“咖啡店”来获取结果,并将店名、地址等输入数据框,进行分析并导出到excel 尝试使用Pandas read_html,但返回“HTTPError:HTTP错误403:禁止”。你知道怎么做吗?首先,不鼓励刮水,因为这违反了他们的ToS 但是,如果您仍然希望继续并刮取他们的数据,则存在用于Python的刮取工具,如: 我只是假设您正在使用Python。如果您使用的是R,则可以使用: 或者,您也可以使用他们的和 您可以像这样使用selenium webdriver: fr

我试图通过在谷歌搜索“咖啡店”来获取结果,并将店名、地址等输入数据框,进行分析并导出到excel


尝试使用Pandas read_html,但返回“HTTPError:HTTP错误403:禁止”。你知道怎么做吗?

首先,不鼓励刮水,因为这违反了他们的ToS

但是,如果您仍然希望继续并刮取他们的数据,则存在用于Python的刮取工具,如:

  • 我只是假设您正在使用Python。如果您使用的是R,则可以使用:


  • 或者,您也可以使用他们的和

    您可以像这样使用selenium webdriver:

    from selenium import webdriver
    dir = '\\'.join(os.path.dirname(__file__).split("/"))
    url="www.example.com"
    driver=os.path.join(dir,'chromedriver.exe')
    driver.get(url)
    # get the address from the html document
    for elem in driver.find_elements_by_xpath('.//div[@class = "address"]'):
         address= elem.text
    
    但要做到这一点,您需要下载chromedriver。您还需要查看该网页的源代码,以查看您在该网页中查找的信息的属性和标记。
    一个综合性的例子可以找到,这是一个错误403,因为你被列入黑名单,谷歌不让你刮

    你可以找到一些你可以使用的技巧


    您还可以使用第三方服务,如谷歌搜索引擎结果。它解决了代理和解析的问题

    很容易与Python集成:

    from lib.google_search_results import GoogleSearchResults
    
    params = {
        "q" : "Coffee",
        "location" : "Austin, Texas, United States",
        "hl" : "en",
        "gl" : "us",
        "google_domain" : "google.com",
        "api_key" : "demo",
    }
    
    query = GoogleSearchResults(params)
    dictionary_results = query.get_dictionary()
    

    GitHub:

    尝试删除库,比如
    python请求
    。您可以免费搜索
    咖啡
    特朗普
    。就这样