python googlesearch 库 - 如何删除后端的 + 或 %20 符号以使用 googlesearch 库?

问题描述 投票:0回答:1

我正在使用Python中的googlesearch库来抓取谷歌搜索结果。虽然如果我在 chrome 中输入普通单词,我会得到结果..但是在通过 python 库 googlesearch 发送搜索字符串时,我无法获得相同的结果,它会在后端不必要地添加 %20 或 + 符号,因此我无法抓取

从 googlesearch 导入搜索 从 urllib.parse 导入引用 query = input("请输入公司名称:") z='''-intitle:"profiles" -inurl:"dir/ " site:ch.linkedin.com/in/ 或 site:ch.linkedin.com/pub/ 当前:''' + '''"' '' + 查询 y=报价(z) search_results=列表(搜索(y,num_results=10))

对于 i,枚举结果(search_results,start=1): print(f"结果{i}:{结果}")

python web-scraping seo google-search
1个回答
0
投票

我最近在处理文件名并使用 php 获取它们时遇到了这个问题。因为当我获取文件名时,它返回“examplefilename.txt”,字符串开头有一个空格。 我基本上必须用“-”或破折号替换每个“”或空格,因为当您的字符串被编码时,它会用“%20”替换空格。

我相信您可以通过获取搜索查询、检查字符串中的空格并将其替换为“+”,然后将 url 与查询结合起来来解决此问题,以获得所需的结果。

例如:

url="https://www.google.com/search?q="
raw_query = str(input("Search query>"))
processed_query = raw_query.replace(" ", "+")
#Rest of your code goes here
#OUTPUT: https://www.google.com/search?q=stack+overflow

如果您想获取 url,这同样适用。 您可以将查询拆分为 url 和查询,然后拆分查询并删除中间的所有“%20”或“+”。

或者,您可以使用 urllib.parse

© www.soinside.com 2019 - 2024. All rights reserved.