{"id":2706,"date":"2012-09-03T15:17:52","date_gmt":"2012-09-03T06:17:52","guid":{"rendered":"http:\/\/blog.bitmeister.jp\/?p=2706"},"modified":"2012-09-07T15:26:28","modified_gmt":"2012-09-07T06:26:28","slug":"twitter-search-api%e3%81%a7%e5%8f%97%e4%bf%a1%e3%81%97%e3%81%9fjson%e3%81%8c%e9%80%94%e5%88%87%e3%82%8c%e3%82%8b","status":"publish","type":"post","link":"https:\/\/blog.bitmeister.jp\/?p=2706","title":{"rendered":"Twitter Search API\u3067\u53d7\u4fe1\u3057\u305fJSON\u304c\u9014\u5207\u308c\u308b"},"content":{"rendered":"<p>8\u670816\u65e5\u306bTwitter API\u306e\u30d0\u30fc\u30b8\u30e7\u30f31.1\u3078\u306e\u5909\u66f4\u4e88\u5b9a\u304c<a href=\"https:\/\/dev.twitter.com\/blog\/changes-coming-to-twitter-api\">Twitter\u306e\u30d6\u30ed\u30b0\u3067\u30a2\u30ca\u30a6\u30f3\u30b9\u3055\u308c\u307e\u3057\u305f<\/a>\u3002\u30a2\u30ca\u30a6\u30f3\u30b9\u306b\u3088\u308b\u3068\u3001\u5168\u3066\u306eAPI\u3067OAuth\u8a8d\u8a3c\u304c\u5fc5\u8981\u306b\u306a\u308b\u3068\u306e\u3053\u3068\u3002\u305d\u3053\u3067\u3001\u4ee5\u524d\u306bPython(2.7.1)\u3067\u4f5c\u3063\u305fTwitter Search API\u3092\u5229\u7528\u3057\u305fTwitter\u691c\u7d22\u30b9\u30af\u30ea\u30d7\u30c8\u3092OAuth\u8a8d\u8a3c\u306b\u5bfe\u5fdc\u3055\u305b\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<br \/>\nOAuth\u8a8d\u8a3c\u306b\u5bfe\u5fdc\u3055\u305b\u3066\u3001\u3053\u308c\u3067\u307e\u305a\u306f\u4e00\u5b89\u5fc3\u3068\u601d\u3044\u304d\u3084\u30fb\u30fb\u30fb\u4ee5\u524d\u306b\u306f\u306a\u304b\u3063\u305f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f!<br \/>\n<!--more--><br \/>\nTwitter Search API\u3067\u53d7\u4fe1\u3057\u305fJSON\u3092\u30c7\u30b3\u30fc\u30c9\u3057\u3066\u3044\u308b\u3068\u3053\u308d\u3067<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\nValueError: Unterminated string starting at: line 1 column 14022 (char 14022)\r\n<\/pre>\n<p>\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u3068\u304d\u3069\u304d\u767a\u751f\u3059\u308b\u306e\u3067\u3059\u3002<\/p>\n<pre><textarea class=\"python\" name=\"code\">jsontext = response.read()\r\ncontent = json.loads(jsontext) # \u3053\u3053\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\r\n<\/textarea><\/pre>\n<p>\u53d7\u4fe1\u3057\u305fJSON\u3092\u30ed\u30b0\u306b\u51fa\u529b\u3057\u3066\u307f\u308b\u3068\u3001\u306a\u3093\u3068JSON\u306e\u30c7\u30fc\u30bf\u304c\u9014\u4e2d\u3067\u9014\u5207\u308c\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u305d\u3053\u3067\u3001\u6b21\u306e\u3088\u3046\u306b\u30d8\u30c3\u30c0\u30fc\u306eContent-Length\u3092\u53c2\u7167\u3057\u3066\u3001Content-Length\u5206\u306e\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u3088\u3046\u306b\u51e6\u7406\u3092\u4fee\u6b63\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<pre><textarea class=\"python\" name=\"code\"># \u30d8\u30c3\u30c0\u30fc\u306e\u53d6\u5f97\r\nheaders = response.info()\r\n# \u30d8\u30c3\u30c0\u30fc\u304b\u3089Content-Length\u3092\u53d6\u5f97\r\nlength = int(headers.getheader('Content-Length', -1))\r\n# Content-Length\u5206\u3092read\r\njsontext = response.read(length)\r\ncontent = json.loads(jsontext)\r\n<\/textarea><\/pre>\n<p>\u3057\u304b\u3057\u3001\u3053\u308c\u3067\u3082\u540c\u3058\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3057\u307e\u3044\u307e\u3059\u3002<br \/>\n\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u3068\u304d\u306e\u53d7\u4fe1\u30c7\u30fc\u30bf\u3092\u773a\u3081\u3066\u307f\u308b\u3068\u3001\u8aad\u307f\u8fbc\u3093\u3060\u53d7\u4fe1\u30c7\u30fc\u30bf\u306e\u30b5\u30a4\u30ba\u306b\u6bd4\u3079\u3066Content-Length\u306e\u65b9\u304c\u5927\u304d\u3044\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002<br \/>\n\u3053\u306e\u60c5\u5831\u3092\u983c\u308a\u306bWEB\u3092\u8abf\u3079\u3066\u307f\u308b\u3068\u3001\u540c\u69d8\u306e\u4e8b\u8c61\u304cTwitter API\u306e<a href=\"https:\/\/dev.twitter.com\/issues\/437\">Issue#437<\/a>\u306b\u53d6\u308a\u4e0a\u3052\u3089\u308c\u3066\u3044\u307e\u3057\u305f\u3002\u3069\u3046\u3084\u3089Twitter API\u5074\u306e\u554f\u984c\u306e\u3088\u3046\u3067\u3059\u3002<del datetime=\"2012-09-07T06:13:39+00:00\">\uff082012\/9\/3\u73fe\u5728\u3001\u3053\u306e\u554f\u984c\u306f\u89e3\u6c7a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\uff09<\/del><span style=\"color:red;\">2012\/9\/6\u306b\u3053\u306e\u554f\u984c\u306fClose\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u89e3\u6c7a\u3055\u308c\u305f\u3088\u3046\u3067\u3059\u3002\uff082012\/9\/7 \u8ffd\u8a18\uff09<\/span><\/p>\n<p>\u4e0a\u8a18\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306f\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u5185\u3067\u306e\u691c\u7d22\u7d50\u679c\u306e\u53d6\u5f97\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u3001\u3082\u3046\u4e00\u5ea6\u691c\u7d22\u3059\u308b\u3088\u3046\u306b\u5bfe\u5fdc\u3057\u307e\u3057\u305f\u3002<\/p>\n<p style=\"font-size: x-small;\">\u3055\u3089\u308a\u3068\u307e\u3068\u3081\u3066\u307f\u307e\u3057\u305f\u304c\u3001Issue\u306b\u305f\u3069\u308a\u7740\u304f\u307e\u3067\u306b\u7d06\u4f59\u66f2\u6298\u3001\u8272\u3005\u624b\u9593\u53d6\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u30fb\u30fb\u30fb\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>8\u670816\u65e5\u306bTwitter API\u306e\u30d0\u30fc\u30b8\u30e7\u30f31.1\u3078\u306e\u5909\u66f4\u4e88\u5b9a\u304cTwitter\u306e\u30d6\u30ed\u30b0\u3067\u30a2\u30ca\u30a6\u30f3\u30b9\u3055\u308c\u307e\u3057\u305f\u3002\u30a2\u30ca\u30a6\u30f3\u30b9\u306b\u3088\u308b\u3068\u3001\u5168\u3066\u306eAPI\u3067OAuth\u8a8d\u8a3c\u304c\u5fc5\u8981\u306b\u306a\u308b\u3068\u306e\u3053\u3068\u3002\u305d\u3053\u3067\u3001\u4ee5\u524d\u306bPython(2.7.1 [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-2706","post","type-post","status-publish","format-standard","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/2706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2706"}],"version-history":[{"count":23,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/2706\/revisions"}],"predecessor-version":[{"id":2729,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/2706\/revisions\/2729"}],"wp:attachment":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}