通过python实现Google的精准搜索

问题背景:

我想通过Google或者其他网站通过精准搜索确认该产品是否存在,但是即使该产品不存在Google也会返回一些相关的url链接,现在想通过python实现搜索结果的精准匹配以确认该产品是否为正确的名称【可以通过google搜索到,如果搜索不到则认为该产品不存在】,以下为精准结果截图

实现代码:

python 复制代码
import requests
from bs4 import BeautifulSoup



def is_product(product):
    query = product.replace(' ', '+')
    query = '"'+query+'"'
    add = '&sca_esv=396701017a0fe9d3&sca_upv=1&sxsrf=ADLYWIKWgdKR0hofOSCSRshq3fR-z5vDMA%3A1715482705794&ei=UTBAZqCXMMvK1e8Pw_C8gAk&ved=0ahUKEwjgg7CKj4eGAxVLZfUHHUM4D5AQ4dUDCBE&uact=5&oq=%22%E6%96%B0%E8%83%BD%E6%BA%90%E6%B1%BD%E8%BD%A6%E7%94%B5%E6%B1%A0%22&gs_lp=Egxnd3Mtd2l6LXNlcnAiFyLmlrDog73mupDmsb3ovabnlLXmsaAiMgYQABgeGA8yBhAAGB4YDzIGEAAYHhgPMggQABiABBiiBDIIEAAYgAQYogQyCBAAGIAEGKIESP8FUABYAHAAeACQAQCYAeIBoAHiAaoBAzItMbgBA8gBAPgBAvgBAZgCAaAC5QGYAwCSBwMyLTGgB8kC&sclient=gws-wiz-serp'
    URL = f"https://www.google.com/search?q={query}&as_q={query}&tbs=li:1"
    print(URL)
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
    }
    resp = requests.get(URL, headers=headers)
    decoded_text = resp.text
    # print(">>>" * 20)
    # print(decoded_text)
    # print(">>>" * 20)
    results = []
    if resp.status_code == 200:
        soup = BeautifulSoup(resp.content, "html.parser")
        # print(soup)

        for g in soup.find_all('div', class_='tF2Cxc'):
            title = g.find('h3').text
            link = g.find('a')['href']
            item = {
                "title": title,
                "link": link
            }
            results.append(item)
        print(results)
    else:
        print("Failed to fetch search results")

    return True if len(results)>=1 else False


query = '"新能源汽车电池"'
query = '"高档数控机床用变频智能电动执行器(电动夹爪)"'
query = '"CAE---多学科设计集成与优化"'
res = []
for query in ["新能源汽车电池","高档数控机床用变频智能电动执行器(电动夹爪)","CAE---多学科设计集成与优化"]:
    res.append(is_product(query))

print(res)
相关推荐
zhangyanfei011 分钟前
谈谈 Golang 中的线程协程是如何管理栈内存的
开发语言·后端·golang
atregret5 分钟前
OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。Error loading ... c10.dll
人工智能·python
浪客川6 分钟前
高效日志分离器:一键筛选关键信息
开发语言·windows·c#
星竹晨L8 分钟前
C++红黑树:理论与实践相结合的平衡艺术
开发语言·数据结构·c++
itwangyang5209 分钟前
在 GitHub 上生成和配置个人访问令牌(PAT),并将其用于 R 环境中的凭证管理和包安装。
开发语言·r语言·github
宠..13 分钟前
创建文本框控件
linux·运维·服务器·开发语言·qt
Sally_xy15 分钟前
安装 Java
java·开发语言
湫兮之风16 分钟前
C++: 一文掌握std::vector::assign函数
开发语言·c++
南玖i19 分钟前
vue2/html 实现高德点聚合
开发语言·ios·swift
飞梦工作室19 分钟前
PHP 中 php://input 的全面使用指南
android·开发语言·php