通过python实现Google的精准搜索

 问题背景:

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

 实现代码:

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)

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值