【问题标题】:Downloader.py not returning correct JSON object not workingDownloader.py 没有返回正确的 JSON 对象不起作用
【发布时间】:2014-10-27 15:08:40
【问题描述】:

我正在尝试使用谷歌网站管理员下载搜索查询并按照简单的步骤http://googlewebmastercentral.blogspot.in/2011/12/download-search-queries-data-using.html

在执行 example-simple-downlaod.py 时出现以下错误

sites_json = json.loads(available)
  File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

我已遵循所有步骤。任何建议表示赞赏。当我尝试打印可用时,它给了我以下输出。

<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://www.google.com/webmasters/tools/downloads-list?siteUrl=http://myurl.com+&amp;hl=en">here</A>.
</BODY>
</HTML>

更新

我使用的是 Ubuntu 14.04,python 版本是 2.7.6。在尝试设置 Google 数据 python 库时。我正在按照指南中给出的步骤https://developers.google.com/gdata/articles/python_client_lib?csw=1 执行测试以检查依赖项和安装时出现以下错误

Running all tests in module atom_tests.mock_http_test
F..
======================================================================
FAIL: testRecordResponse (atom_tests.mock_http_test.MockHttpClientUnitTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/username/Documents/googlewebmaster/gdata-2.0.18/tests/atom_tests/mock_http_test.py", line 49, in testRecordResponse
    self.assertEquals(live_response.status, 200)
AssertionError: 301 != 200

----------------------------------------------------------------------

我的所有测试都运行正常。

任何建议表示赞赏。

【问题讨论】:

  • avialable的值是多少?
  • @VincentBeltmanavailabe 正在调用一个函数:available = self._GetDownloadList(site) sites_json = json.loads(available)
  • 你能给我所有相关的代码吗?
  • 您在加载之前尝试过打印吗? (可打印)

标签: python google-search-console google-api-python-client google-data-api google-data


【解决方案1】:

您收到 301 是因为 Google 已更新其 API,并且端点不再位于您发布到的位置。新地址在响应中列出:https://www.google.com/webmasters/tools/downloads-list? 您参考的指南已有 3 年历史,我无法找到更新的指南,但根据您的问题,我不完全确定要寻找什么。

【讨论】:

    【解决方案2】:

    搜索查询下载器 Python 脚本的示例用法 1) 如果您的机器上尚未安装 Python,请下载并安装 Python。

    2) 下载并安装 Google Data APIs Python 客户端库。

    3) 创建一个文件夹并将downloader.py脚本添加到新创建的文件夹中。

    4) 将 example-create-spreadsheet.py 脚本复制到与 downloader.py 相同的文件夹并编辑 它将“网站”、“电子邮件”和“密码”的示例值替换为您的网站管理员工具验证网站的有效值。

    5) 打开终端窗口并通过输入“python”运行 example-create-spreadsheet.py 脚本

    example-create-spreadsheet.py" 在终端窗口命令行:

    注意:使用完全限定域 示例:http://www.yourdomain.com 如果这不起作用,请尝试使用斜杠 示例:http://www.yourdomain.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 2015-01-03
      相关资源
      最近更新 更多