开发者社区> 问答> 正文

当在Python中上传包含关键字的csv文件时,是否可以从Google搜索结果中获取网址?

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

例如:-* stackoverflow ,这是我的csv文件中的一项,应将其提取并放入搜索字段中,并应从搜索结果中返回最佳匹配/第一个url。例如:- www.stackoverflow.com \ *

并且此返回结果应存储在我上载的相同文件中,并在要搜索的关键字旁边。

我对这些概念了解不多,因此将不胜感激。谢谢!

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 22:26:19 731 0
1 条回答
写回答
取消 提交回答
  • 谷歌包有一个对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 *:我们想要的结果数。

    • start *:要检索的第一个结果。

    • stop *:要检索的最后结果。使用“无”可永久搜索。

    • pause *:间隔以在HTTP请求之间等待。时间间隔太短可能会导致Google阻止您的IP。保持较大的延迟将使您的程序变慢,但它是安全且更好的选择。

    • Return *:生成器(迭代器)产生找到的URL。如果stop参数为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')
    

    样本输入格式文件图像:

    输出文件图像:

    回答来源:stackoverflow

    2020-03-24 22:26:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载