当在 Python 中上传了一个充满关键字的 csv 文件时,有没有办法从 google 搜索结果中获取 url?

Is there a way to fetch the url from google search result when a csv file full of keyword is uploaded in Python?

是否可以根据关键字从 Google 搜索结果页面获取 url?实际上,我有一个包含很多公司名称的 csv 文件。我希望网站显示在 google 的搜索结果顶部,当我上传该 csv 文件时,它会获取公司 name/keyword 并将其放在搜索字段中。

例如:- stack overflow,这是我的 csv 文件中的条目之一,应该将其提取并放入搜索字段中,并且应该 return 搜索结果中最好的 match/first url。例如:- www.whosebug.com

并且这个 returned 结果应该存储在我上传的同一个文件中,并在它搜索的关键字旁边。

我对这些概念知之甚少,因此非常感谢您的帮助。 谢谢!

google 软件包对 beautifulsoup 有一个依赖项,需要先安装。

然后安装: pip 安装google

search(query, tld='com', lang='en', num=10, start=0, stop=None, pause=2.0)

query : 我们要搜索的查询字符串。

tld :tld 代表顶级域,这意味着我们要在 google.com 或 google.in 或其他某个域上搜索我们的结果。

lang : lang 代表语言。

num : 我们想要的结果数。

开始:要检索的第一个结果。

stop :要检索的最后一个结果。使用 None 永远搜索。

pause :在 HTTP 请求之间等待。延迟太短可能会导致 Google 阻止您的 IP。保持显着失误会使您的程序变慢,但它是安全且更好的选择。

Return :生成找到的 URL 的生成器(迭代器)。如果停止参数是 None 迭代器将永远循环。

下面的代码是您问题的解决方案。

import pandas
from googlesearch import search 

df = pandas.read_csv('test.csv')

result = []
for i in range(len(df['keys'])):
    for j in search(df['keys'][i], tld="com", num=10, stop=1, pause=2): 
        result.append(j)

dict1 = {'keys': df['keys'], 'url': result}  
df = pandas.DataFrame(dict1) 
df.to_csv('test.csv')

示例输入格式文件图像:

输出文件图像: