谷歌可编程搜索引擎在一段时间后停止工作

问题描述

我已经使用 Google 标准搜索元素 API 设置了 Google 可编程搜索引擎

<!DOCTYPE html>
<html>
<head>
    <Meta name="viewport" content="width=device-width,initial-scale=1">
    <title></title>

    <script async src="https://cse.google.com/cse.js?cx=abc:123"></script>
</head>
<body>

<div class="gcse-search"></div>

</body>
</html>

我已将此代码部署在我的服务器上,以便可以从任何地方访问。

我正在使用 Python 通过 Selenium 访问此 URL 并提取搜索数据

以下是相关的 Python Selenium 代码

driver = webdriver.Chrome('chromedriver',chrome_options=options)


urls = [line.strip() for line in open('urls.txt','r')]

for c,url in enumerate(urls):

    driver.get("mydomain.com/scrapper/#gsc.tab=0")


    search_field = driver.find_element_by_name("search")

    search_field.send_keys(url)

    search_key = driver.find_element_by_class_name("gsc-search-button-v2")

    search_key.click()
    
    # wait for 2 secs so that search results can be captured with the original page source
    
    time.sleep(2)
    soup = BeautifulSoup(driver.page_source,'html.parser')

    close_btn = driver.find_element_by_class_name("gsc-results-close-btn")
    close_btn.click()


    divs = soup.findAll('div',class_='gsc-results-wrapper-overlay gsc-results-wrapper-visible')

上述循环在前 30 到 35 次迭代中正常运行,然后可编程搜索引擎停止工作。

我还检查了我的控制面板,搜索栏也不起作用。

我正在使用没有任何限制的 Standard Search Element 那么为什么我的搜索引擎没有给出任何结果。

下面是出现在我的浏览器控制台上的消息

GET https://cse.google.com/cse/element/v1?rsz=filtered_cse&num=10&hl=en&source=gcsc&gss=.com&cselibv=323d4b8154dbcx=567aeb714ab3&q=xmcnv&safe=off&cse_tok=AJvRU2V1STz8zQKeBl:1131785&gl=in&sort=&exp=csqr,cc&oq=xmcnv&gs_l=partner-generic.3...256575.2555212.4.258592.5.3.0.0.0.0.169.390.1j2.3.0.csems%2Cnrl%3D13...0.131j9243j5...1.34.partner-generic..8.0.0.0TjYqd5vtrI&callback=google.search.cse.api9114 net::ERR_ABORTED 403

为什么在 google 没有速率限制的情况下给我 403。

感谢您的时间。我真的很感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...