├── .gitignore ├── MANIFEST.in ├── README.md ├── app.icns ├── app_setup.py ├── data └── timeline.json ├── demo.py ├── fanfou ├── __init__.py ├── api.py ├── backup.py ├── backupcmd.py ├── backupui.py ├── basedb.py ├── config.py ├── const.py ├── db.py ├── renderer.py ├── template.py ├── utils.py └── xauth.py ├── icon.ico ├── icon.png ├── images ├── backupui1.png ├── backupui2.png ├── win1.png └── win2.png ├── main.py ├── pyfanfou.py ├── pyfanfou.spec ├── requirements.txt ├── setup.cfg └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | output 3 | dist 4 | *.pyc 5 | *.dat 6 | *.db 7 | *.pdf 8 | *.html 9 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.txt *.md 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 饭否数据备份工具 2 | 3 | 备份指定用户的全部饭否消息和相册照片,可选备份好友资料列表,备份数据格式为SQLite/Html/Markdown/Txt四种,推荐保存Html格式 4 | 5 | ### 安装和使用 6 | 7 | 现在仅支持Python 3 (2021.02.21) 8 | 9 | #### Windows 10 | 11 | 从[Github](https://github.com/mcxiaoke/pyfanfou/releases/latest)下载,解压运行 **pyfanfou.exe** 即可。 12 | 13 | ### 所有系统 14 | 15 | ``` 16 | // pip安装 17 | pip install pyfanfou 18 | // 使用命令行 19 | fanfoubackup 20 | // 打开GUI界面 21 | fanfoubackupui 22 | 23 | ``` 24 | 25 | ### 命令行使用 26 | 27 | ``` 28 | fanfoubackup [-h] [-u USERNAME] [-p PASSWORD] [-t TARGET] [-s] [-i] 29 | [-o OUTPUT] 30 | 31 | -h, --help 显示帮助信息 32 | -u USERNAME, --username USERNAME 你的饭否帐号 33 | -p PASSWORD, --password PASSWORD 你的饭否密码 34 | -t TARGET, --target TARGET 要备份的用户ID,默认是登录帐号 35 | -s , --include-user 是否备份好友资料列表,默认否 36 | -i , --include-photo 是否备份全部相册照片,默认是 37 | -o OUTPUT, --output OUTPUT 备份数据存放目录,默认是当前目录下的output目录 38 | ``` 39 | 40 | ## 截图 41 | 42 | #### Windows截图一 43 | 44 | ![ui1](images/win1.png) 45 | 46 | #### Windows截图二 47 | 48 | ![ui1](images/win2.png) 49 | 50 | #### Mac OS X截图一 51 | 52 | ![ui1](images/backupui1.png) 53 | 54 | #### Mac OS X截图二 55 | 56 | ![ui2](images/backupui2.png) 57 | -------------------------------------------------------------------------------- /app.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/app.icns -------------------------------------------------------------------------------- /app_setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-12 14:37:01 5 | 6 | #!/usr/bin/env python 7 | """ 8 | setup.py - script for building MyApplication 9 | 10 | Usage: 11 | % python setup.py py2app 12 | """ 13 | from distutils.core import setup 14 | import py2app 15 | 16 | py2app_options = dict( 17 | # Map "open document" events to sys.argv. 18 | # Scripts that expect files as command line arguments 19 | # can be trivially used as "droplets" using this option. 20 | # Without this option, sys.argv should not be used at all 21 | # as it will contain only Mac OS X specific stuff. 22 | # argv_emulation=True, 23 | 24 | # This is a shortcut that will place MyApplication.icns 25 | # in the Contents/Resources folder of the application bundle, 26 | # and make sure the CFBundleIcon plist key is set appropriately. 27 | iconfile='MyApplication.icns', 28 | ) 29 | 30 | setup( 31 | app=['backupui.py'], 32 | ) 33 | -------------------------------------------------------------------------------- /data/timeline.json: -------------------------------------------------------------------------------- 1 | [{"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6211\u60f3\u5230\u4e86\u6211\u51fa\u5dee\u4e0d\u613f\u610f\u5e26apple watch\u7684\u4e00\u4e2a\u91cd\u8981\u539f\u56e0\uff1a\u90a3\u6761\u4e13\u7528\u5145\u7535\u7ebf\u592a\u957f\u4e86\uff0c\u6536\u62fe\u8d77\u6765\u6709\u70b9\u9ebb\u70e6\u3002", "created_at": "Wed Aug 12 02:32:15 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185755554, "id": "sYy3f-iAPLg", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u60f3\u8d77\u4e86\u4e09\u56db\u5e74\u524d\u6211\u4e3a\u4e86\u7ed9\u540c\u4e8b\u89e3\u91ca\u300c\u82b1\u94b1\u5bb9\u6613\u8d5a\u94b1\u96be\u300d\u800c\u6253\u7684\u90a3\u4e2a\u4e0d\u96c5\u6bd4\u65b9\uff1a\u8d5a\u94b1\u5982\u5403\u5c4e\uff0c\u82b1\u94b1\u5982\u62c9\u7a00\u3002", "created_at": "Tue Aug 11 16:58:47 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185747370, "id": "7eqJiT16ao8", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u539f\u6765\u53e4\u6c38\u9535\u771f\u7684\u6709\u4e2a\u5802\u5f1f\u53eb\u53e4\u6c38\u94ff\u3002", "created_at": "Tue Aug 11 03:31:37 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185722886, "id": "_3w57xXs_Zs", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u81f4\u6240\u6709\u725b\u903c\u8f70\u8f70\u768490\u540e\uff1a\u636e\u8bf4\u725b\u987f\u90a3\u4e9b\u6539\u53d8\u4eba\u7c7b\u6587\u660e\u8fdb\u7a0b\u7684\u79d1\u5b66\u53d1\u73b0\u57fa\u672c\u90fd\u662f\u572826\u5c81\u4ee5\u524d\u83b7\u5f97\u7684\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u725b\u987f\u662f\u4e2a\u5f53\u5e74\u7684\u300c90\u540e\u300d\u3002-\u738b\u5174\u4e8e2015\u5e74", "created_at": "Mon Aug 10 20:09:15 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185713779, "id": "9FCDg62BwSo", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6e38\u620f\u5bf9\u4eba\u7684\u5f71\u54cd\u662f\u6df1\u8fdc\u7684\u3002\u6211\u59cb\u7ec8\u8bb0\u5f97\uff0c\u5728\u6211\u521d\u9ad8\u4e2d\u4e00\u5ea6\u75f4\u8ff7\u7684\u65e5\u672c\u5149\u8363KOEI\u51fa\u54c1\u7684\u300a\u6c34\u6d52\u300b\u91cc\uff0c\uff08\u4f9d\u7167\u53f2\u5b9e\uff091127\u5e74\uff0c\u91d1\u5175\u5165\u4fb5\uff0c\u5317\u5b8b\u706d\u4ea1\uff0cgame over\u3002", "created_at": "Mon Aug 10 18:31:15 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185713290, "id": "ncjtuM9HzpI", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6211\u7684iPhone6\u4e0d\u77e5\u9053\u4e2d\u4e86\u4ec0\u4e48\u90aa\uff0c\u6700\u8fd1\u5df2\u7ecf\u57fa\u672c\u4e0d\u53ef\u7528\u4e86\uff0c\u52a8\u4e0d\u52a8\u5c31\u53d1\u70ed\u5f97\u5389\u5bb3\uff0c\u7535\u91cf\u72c2\u6389\uff0c\u53cc\u51fbhome\u952e\u5fc5\u5b9a\u5047\u6b7b\uff0c\u77ed\u4fe1\u4e00\u542f\u52a8\u5c31\u5d29\u6e83\u5bfc\u81f4\u6211\u53ea\u80fd\u4ece\u901a\u77e5\u680f\u91cc\u770b\u65b0\u6d88\u606f:-( \u6211\u53c8\u6ca1\u6709\u8d8a\u72f1\uff0c\u6240\u4ee5\u8fd9\u5e10\u53ea\u80fd\u7b97\u5230\u82f9\u679c\u516c\u53f8\u5934\u4e0a\u4e86\u3002\u8fd9\u4e48\u591a\u5e74\u6765\u7b2c\u4e00\u6b21\u5bf9\u8fd9\u54c1\u724c\u5982\u6b64\u5931\u671b\u3002", "created_at": "Mon Aug 10 10:53:04 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185699310, "id": "ypcwEDJ0N9Y", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u4ece\u5584\u5982\u767b\uff0c\u4ece\u6076\u5982\u5d29\u3002", "created_at": "Sat Aug 08 01:40:01 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185619726, "id": "Sk6wrCqxhOE", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u518d\u6b21\u51fa\u5dee\uff0c\u518d\u6b21\u51b3\u5b9a\u4e0d\u6234apple watch\u3002", "created_at": "Fri Aug 07 07:21:26 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185595468, "id": "HFVtkz3Yaaw", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "\u718a\u963f\u59e8", "favorited": false, "repost_status_id": "o0-Y6VGcE70", "repost_user_id": "auntbear", "truncated": false, "text": "\u795d\u8d3a\uff01\u8f6c@\u718a\u963f\u59e8 \u4eca\u5929\u6211\u8ddf\u8fd9\u4f4d\u7f51\u53cb\u7ed3\u5a5a\u4e86\u3002", "created_at": "Thu Aug 06 16:32:07 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "photo": {"url": "http://fanfou.com/photo/tOQ0_tVmi94", "largeurl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/n0/0b/v2/yk_265486.jpg", "imageurl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/s0/0b/v2/yk_265486.jpg", "thumburl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/t0/0b/v2/yk_265486.jpg"}, "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 185577750, "id": "mzMBQ-CIuwk", "repost_status": {"user": {"profile_image_url_large": "http://avatar.fanfou.com/l0/00/6b/m8.jpg?1229865287", "id": "auntbear", "profile_sidebar_fill_color": "#FFFCAA", "profile_text_color": "#2A2C2E", "followers_count": 3744, "profile_sidebar_border_color": "#FFFCAA", "location": "", "profile_background_color": "#355449", "utc_offset": 28800, "statuses_count": 6352, "description": "", "friends_count": 156, "profile_link_color": "#0078B5", "profile_image_url": "http://avatar.fanfou.com/s0/00/6b/m8.jpg?1229865287", "notifications": false, "birthday": "0000-01-27", "profile_background_image_url": "http://avatar.fanfou.com/b0/00/6b/m8_1239931451.jpg", "name": "\u718a\u963f\u59e8", "profile_background_tile": false, "favourites_count": 283, "screen_name": "\u718a\u963f\u59e8", "url": "http://www.auntbear.com", "gender": "\u5973", "created_at": "Tue Jan 08 11:36:01 +0000 2008", "protected": false, "following": false}, "favorited": false, "truncated": false, "text": "\u4eca\u5929\u6211\u8ddf\u8fd9\u4f4d\u7f51\u53cb\u7ed3\u5a5a\u4e86\u3002", "created_at": "Thu Aug 06 13:29:47 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "photo": {"url": "http://fanfou.com/photo/tOQ0_tVmi94", "largeurl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/n0/0b/v2/yk_265486.jpg", "imageurl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/s0/0b/v2/yk_265486.jpg", "thumburl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/t0/0b/v2/yk_265486.jpg"}, "is_self": false, "rawid": 185570519, "id": "o0-Y6VGcE70", "location": ""}}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u4ec0\u4e48\uff1f24.5\u4e2a\u5c0f\u65f6\u4e4b\u540e\u5c31\u7acb\u79cb\u4e86\uff1f", "created_at": "Thu Aug 06 15:29:28 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185575584, "id": "Y6tcmiS15X0", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "\u7325\u7334", "favorited": false, "repost_status_id": "It6_xCQASEY", "repost_user_id": "~Dx0-ifyN9Rs", "truncated": false, "text": "\u8f6c@\u98ef\u5426\u5c0f\u5b57\u62a5 \u8f6c@\u7325\u7334 \u4e0b\u8f6f\u4ef6\u4e2d\u4e86\u767e\u5ea6,\u53ea\u80fd\u4e0b\u4e2a360\u628a\u767e\u5ea6\u5378\u4e86,\u56e0\u4e3a\u53ea\u6709360\u624d\u80fd\u5378\u5e72\u51c0,\u518d\u4e0b\u4e2aQQ\u7ba1\u5bb6\u5378360,\u56e0\u4e3a\u53ea\u6709QQ\u624d\u8fd9\u4e48\u6068360,\u6700\u540e\u518d\u628aQQ\u7ba1\u5bb6\u5378\u4e86,\u56e0\u4e3a\u817e\u8baf\u7b97\u6bd4\u8f83\u826f\u5fc3\u7684\u516c\u53f8\u4e86,\u4f46\u662f\u6211\u7684\u7535\u8111\u4e0d\u9700\u8981\u826f\u5fc3.", "created_at": "Thu Aug 06 12:51:49 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 185569277, "id": "GCQqMOBXQi0", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u5317\u4eac\u4e94\u73af\u5185\u4eba\u53e3\u636e\u8bf4\u662f1000\u4e07\u5de6\u53f3\uff0c\u4e94\u73af\u9762\u79ef\u63a5\u8fd1700\u5e73\u65b9\u516c\u91cc\uff0c\u5e73\u5747\u4e00\u5e73\u65b9\u516c\u91cc\u624d1.5\u4e07\u4eba\u3002", "created_at": "Wed Aug 05 12:59:18 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185533910, "id": "C6bicoqOJu8", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u8d8a\u53d1\u76f8\u4fe1\uff0c\u57ce\u533a\u4eba\u53e3\u5bc6\u5ea6\u9ad8\u662f\u597d\u4e8b\uff0c\u5404\u65b9\u9762\u90fd\u66f4\u65b9\u4fbf\u3002\u5317\u4eac\u7684\u95ee\u9898\u4e0d\u662f\u4eba\u53e3\u5bc6\u5ea6\u592a\u9ad8\uff0c\u800c\u662f\u592a\u4f4e\u3002", "created_at": "Wed Aug 05 12:52:07 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185533675, "id": "TuqQIA3H9hw", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "\u738b\u5174", "favorited": false, "repost_status_id": "AM81VAJgR4o", "repost_user_id": "wangxing", "truncated": false, "text": "\u539f\u6765\u5982\u6b64-_-\uff01\u8f6c@\u82d1\u5c0f\u5e05 \u6211\u89c9\u5f97\u6700\u5938\u5f20\u7684\u97f3\u8bd1\u662f\u201c\u591a\u5566A\u68a6\u201d\uff0c\u662f\u7531\u82f1\u6587dream\u7684\u65e5\u6587\u8bfb\u97f3\u518d\u97f3\u8bd1\u6210\u4e2d\u6587\u5f97\u6765\u7684 \u8f6c@\u738b\u5174 \u539f\u6765\u300c\u591a\u5b9d\u9c7c\u300d\u8fd9\u4e2a\u540d\u5b57\u662f\u7531turbot\uff08\u5927\u6bd4\u76ee\u9c7c\uff09\u97f3\u8bd1\u8fc7\u6765\u7684\u3002", "created_at": "Wed Aug 05 08:29:02 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 185525363, "id": "0SHXjjrCSAo", "repost_status": {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u539f\u6765\u300c\u591a\u5b9d\u9c7c\u300d\u8fd9\u4e2a\u540d\u5b57\u662f\u7531turbot\uff08\u5927\u6bd4\u76ee\u9c7c\uff09\u97f3\u8bd1\u8fc7\u6765\u7684\u3002", "created_at": "Tue Aug 04 16:09:41 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185504856, "id": "AM81VAJgR4o", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u539f\u6765\u300c\u591a\u5b9d\u9c7c\u300d\u8fd9\u4e2a\u540d\u5b57\u662f\u7531turbot\uff08\u5927\u6bd4\u76ee\u9c7c\uff09\u97f3\u8bd1\u8fc7\u6765\u7684\u3002", "created_at": "Tue Aug 04 16:09:41 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185504856, "id": "AM81VAJgR4o", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "john paulson\u548cpaul johnson\u5bf9\u6211\u6765\u8bf4\u5f88\u5bb9\u6613\u641e\u6df7:(", "created_at": "Sat Aug 01 22:32:49 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185407911, "id": "C6O5uuRqxKI", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u534e\u4e3amate7\u7684\u7535\u6c60\u771f\u662f\u592a\u5f3a\u5927\u4e86\u3002\u5f00\u4e00\u6574\u5929\u4f1a\uff0c\u624b\u673a\u78b0\u5f97\u5f88\u5c11\uff0c\u5230\u665a\u4e0a\u5c45\u7136\u8fd8\u670989%\u7684\u7535\u91cf\uff01", "created_at": "Thu Jul 30 03:45:51 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185311080, "id": "GnbviENkPMs", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u5341\u4e00\u5e74\u540e\u91cd\u56de\u4e1c\u5cb8\u3002", "created_at": "Wed Jul 29 06:12:53 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185278426, "id": "4l-wAQZ7qHs", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u300c\u7ec6\u8282\u300d\u8fd8\u504f\u8912\u4e49\uff0c\u300c\u7ec6\u679d\u672b\u8282\u300d\u5c31\u57fa\u672c\u7b97\u662f\u8d2c\u4e49\u4e86\u3002", "created_at": "Tue Jul 28 05:51:53 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185242179, "id": "GEGNQNc-99c", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u8fd9\u7bc7\u5bf9\u4e01\u78ca\u7684\u91c7\u8bbf\u86ee\u6709\u770b\u70b9\uff1a\u7f51\u6613\u4e4b\u524d\u4e5f\u505a\u8fc7\u7535\u5546\uff0c\u5931\u8d25\u4e86\u3002\u66f4\u65e9\u7684\u65f6\u5019\uff0c2003\u5e74\uff0c\u4e01\u78ca\u5c1d\u8bd5\u8fc7\u505a\u7f51\u4e0a\u62cd\u5356\uff0c\u8ddf\u6dd8\u5b9d\u5dee\u4e0d\u591a\u540c\u65f6\u671f\uff0c\u505a\u4e86\u4e24\u4e2a\u6708\u5c31\u5173\u6389\u4e86\uff0c\u201c\u5047\u8d27\u592a\u591a\uff0c\u5904\u7406\u4e0d\u4e86\u5c31\u6295\u964d\u4e86\u3002\u201d", "created_at": "Mon Jul 27 08:43:14 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185210644, "id": "A1dG1v__6HA", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "kindle\u56fa\u4ef6\u6bcf\u6b21\u66f4\u65b0\u5e26\u6765\u7684\u6539\u8fdb\u90fd\u8ba9\u6211\u5bf9\u4e9a\u9a6c\u900a\u8fd9\u5bb6\u516c\u53f8\u66f4\u52a0\u5c0a\u656c\u3002\u4ed6\u4eec\u786e\u5b9e\u5728\u6301\u7eed\u6539\u8fdb\uff0c\u628a\u4e1c\u897f\u8d8a\u505a\u8d8a\u597d\uff0c\u628a\u58c1\u5792\u8d8a\u7b51\u8d8a\u9ad8\u3002", "created_at": "Sun Jul 26 15:21:35 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185187002, "id": "Skv8athVu1k", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u8f6c\u4e00\u7897\u9e21\u6c64\uff1aBe a good person, but don't waste time to prove it.", "created_at": "Sun Jul 26 00:25:42 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185162034, "id": "BFc5vnj4Rec", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u4e3a\u4e86\u6210\u4eba\u4e4b\u7f8e\uff0c\u4e0a\u98de\u673a\u540e\u5df2\u7ecf\u6362\u4e86\u4e24\u6b21\u5ea7\u4f4d\u3002", "created_at": "Sat Jul 25 07:58:11 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185141607, "id": "e98nza5K0e0", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u51fa\u5dee\u524d\u7a0d\u4e00\u72b9\u8c6b\uff0c\u51b3\u5b9a\u8fd8\u662f\u4e0d\u5e26apple watch\u4e86\uff0c\u80fd\u7701\u4e00\u6761\u5145\u7535\u7ebf\u3002", "created_at": "Sat Jul 25 06:48:26 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185140144, "id": "mkxDs9T7SOc", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u4e9a\u9a6c\u900a\u662f95\u5e747\u6708\u4e0a\u7ebf\u7684\uff0c\u524d\u51e0\u5929\u7ec8\u4e8e\u5e02\u503c\u8d85\u8d8a\u591a\u5e74\u7684\u96f6\u552e\u51a0\u519b\u6c83\u5c14\u739b\u300220\u5e74\u3002", "created_at": "Sat Jul 25 04:19:20 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185136753, "id": "qfSVfLyYzrE", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6700\u8fd1\u6211\u7684iPhone6\u5f88\u4e0d\u4e89\u6c14\uff0c\u7ecf\u5e38\u9047\u5230\u53cc\u51fbhome\u952e\u60f3\u8981\u5207\u6362app\u65f6\u5c31\u51fa\u73b0\u300c\u5047\u6b7b\u300d\u6ca1\u53cd\u5e94\u7684\u6545\u969c:( \u6309\u8bf4ios\u4e0d\u5e94\u8be5\u8fd9\u4e48\u5f31\u554a", "created_at": "Fri Jul 24 11:47:15 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185117165, "id": "2n21v_SUN5M", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "If you\u2019re going through Hell, keep going. -Churchill", "created_at": "Thu Jul 23 18:26:37 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185092487, "id": "5z8ofZLP5JE", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "\u592a\u7a7a\u5c0f\u5b69", "favorited": false, "repost_status_id": "p7Pj0CETUxA", "repost_user_id": "anegie", "truncated": false, "text": "\u4e0d\u6127\u662f\u300c\u592a\u7a7a\u300d\u5c0f\u5b69\uff01\u6211\u90fd\u542c\u4e0d\u61c2\u4f60\u5728\u8bf4\u4ec0\u4e48\uff01\u8f6c@\u592a\u7a7a\u5c0f\u5b69 \u300cNASA \u501f\u52a9 Kepler \u671b\u8fdc\u955c\u5728 1400 \u5149\u5e74\u5916\u53d1\u73b0\u4e86\u4e00\u9897 ESI \u9ad8\u4e8e\u4ee5\u5f80\u7684\u7c7b\u5730\u661f\u7403\uff0c\u540d\u4e3a 452b\u3002\u300d\u300c\u5f88\u5389\u5bb3\u5417\uff1f\u300d\u300c\u5f88\u5389\u5bb3\u3002\u300d\u6211\u6545\u4f5c\u9547\u5b9a\u5730\u5bf9\u56f4\u89c2\u6211\u770b\u6240\u8c13\u5de8\u5927\u5929\u6587\u65b0\u95fb\u76f4\u64ad\u7684\u4eb2\u621a\u4eec\u89e3\u91ca\u9053\u3002", "created_at": "Thu Jul 23 16:36:32 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 185091162, "id": "hg62n1AiYEk", "repost_status": {"user": {"profile_image_url_large": "http://avatar4.fanfou.com/l0/00/3c/7j.jpg?1415151709", "id": "anegie", "profile_sidebar_fill_color": "#FFFFFF", "profile_text_color": "#404040", "followers_count": 6177, "profile_sidebar_border_color": "#E5E5E5", "location": "\u592a\u7a7a", "profile_background_color": "#ffffff", "utc_offset": 28800, "statuses_count": 2738, "description": "\u6211\u5f88\u6ee1\u610f\u3002\u6211\u6e05\u9192\u7684\u65f6\u5019\uff0c\u77e5\u9053\u6b64\u975e\u68a6\u5883\u3002\u5c3d\u7ba1\u5728\u505a\u68a6\u7684\u65f6\u5019\uff0c\u6211\u4ee5\u4e3a\u90a3\u5c31\u662f\u73b0\u5b9e\u3002", "friends_count": 211, "profile_link_color": "#404040", "profile_image_url": "http://avatar4.fanfou.com/s0/00/3c/7j.jpg?1415151709", "notifications": false, "birthday": "", "profile_background_image_url": "", "name": "\u592a\u7a7a\u5c0f\u5b69", "profile_background_tile": false, "favourites_count": 21, "screen_name": "\u592a\u7a7a\u5c0f\u5b69", "url": "http://spacekid.me/", "gender": "", "created_at": "Fri Dec 28 11:23:30 +0000 2007", "protected": false, "following": false}, "favorited": false, "truncated": false, "text": "\u300cNASA \u501f\u52a9 Kepler \u671b\u8fdc\u955c\u5728 1400 \u5149\u5e74\u5916\u53d1\u73b0\u4e86\u4e00\u9897 ESI \u9ad8\u4e8e\u4ee5\u5f80\u7684\u7c7b\u5730\u661f\u7403\uff0c\u540d\u4e3a 452b\u3002\u300d\u300c\u5f88\u5389\u5bb3\u5417\uff1f\u300d\u300c\u5f88\u5389\u5bb3\u3002\u300d\u6211\u6545\u4f5c\u9547\u5b9a\u5730\u5bf9\u56f4\u89c2\u6211\u770b\u6240\u8c13\u5de8\u5927\u5929\u6587\u65b0\u95fb\u76f4\u64ad\u7684\u4eb2\u621a\u4eec\u89e3\u91ca\u9053\u3002", "created_at": "Thu Jul 23 16:08:48 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185090430, "id": "p7Pj0CETUxA", "location": "\u592a\u7a7a"}}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u89c1\u5230\u4e00\u4e2a\u4e3e\u624b\u6295\u8db3\u751f\u6015\u522b\u4eba\u4e0d\u77e5\u9053\u5979\u662f\u6295\u884c\u5973\u7684\u6295\u884c\u5973\u3002\u8fd9\u5c31\u662f\u6700\u751f\u52a8\u7684\u300c\u7740\u76f8\u300d\u4e86\u5427\u3002", "created_at": "Thu Jul 23 13:15:18 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 185083870, "id": "quAwKQcshRc", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6211\u627f\u8ba4\uff0c\u6211\u662f\u56e0\u4e3a\u5468\u6770\u4f26\u8fd9\u56de\u4e0a\u300a\u4e2d\u56fd\u597d\u58f0\u97f3\u300b\u624d\u77e5\u9053\u300c\u5c0f\u516c\u4e3e\u300d\u8fd9\u4e2a\u65b0\u6982\u5ff5\u3002", "created_at": "Sun Jul 19 03:17:02 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184925495, "id": "tzHelXBFEwE", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u8eba\u5728\u5e8a\u4e0a\uff0c\u542c\u7740\u5916\u9762\u6dc5\u6dc5\u6ca5\u6ca5\u7684\u96e8\u58f0\uff0c\u60f3\u8d77\u9646\u6e38\u7684\u4e24\u9996\u8bd7\uff1a\u300c\u5c0f\u697c\u4e00\u591c\u542c\u6625\u96e8\uff0c\u6df1\u5df7\u660e\u671d\u5356\u674f\u82b1\u300d\uff0c\u300c\u591c\u9611\u5367\u542c\u98ce\u5439\u96e8\uff0c\u94c1\u9a6c\u51b0\u6cb3\u5982\u68a6\u6765\u300d\u3002\u53ef\u662f\uff0c\u597d\u50cf\u5b63\u8282\u90fd\u4e0d\u592a\u642d-_-!", "created_at": "Wed Jul 15 18:23:03 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184817604, "id": "OPdifvM5wGk", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u300c\u5f88\u591a\u4eba\u8ba4\u4e3a\u4ed6\u4eec\u5728\u601d\u8003\uff0c\u5176\u5b9e\u4ed6\u4eec\u53ea\u662f\u91cd\u65b0\u6392\u5217\u4e86\u4e0b\u81ea\u5df1\u7684\u504f\u89c1\u3002\u300d \u8fd9\u53e5\u8bdd\u6709\u610f\u601d\u3002", "created_at": "Wed Jul 15 16:30:18 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184815841, "id": "c3yGxQXlS0U", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u8f6c\uff1a\u6781\u7aef\u7684\u73b0\u5b9e\u4e3b\u4e49\u662f\u6781\u7aef\u7684\u7406\u60f3\u4e3b\u4e49\u7684\u57fa\u7840\u3002", "created_at": "Wed Jul 15 13:45:40 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184808969, "id": "EtjnwdfhyZw", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u4f4f\u5728\u8fd9\u671b\u4eac\u5c0f\u533a\u91cc\uff0c\u5c45\u7136\u8fd9\u949f\u70b9\u542c\u5230\u8fdc\u8fdc\u4f20\u6765\u7684\u72d7\u53eb\u3002\u4e00\u65f6\u604d\u60da\uff0c\u4eff\u4f5b\u56de\u5230\u4e86\u513f\u65f6\u7684\u4e61\u95f4\u3002", "created_at": "Wed Jul 15 13:24:35 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184808258, "id": "tUN4DYHkxLU", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "gravity0", "favorited": false, "repost_status_id": "gD6URIMCmLw", "repost_user_id": "gravity0", "truncated": false, "text": "\u8f6c@gravity0 \u589e\u5e7f\u8d24\u6587\u8bf4\uff1a\u201c\u8d2b\u65e0\u8fbe\u58eb\u5c06\u91d1\u8d60\uff0c\u75c5\u6709\u9ad8\u4eba\u8bf4\u836f\u65b9\u201d\u3002\u4e3a\u4ec0\u4e48\u5462\uff1f\u56e0\u4e3a\u836f\u65b9\u3001\u70b9\u5b50\u3001\u9053\u7406\u8fd9\u4e9b\u7edf\u7edf\u4e0d\u503c\u94b1\uff0c\u5bf9\u9519\u96be\u8fa8\u540e\u679c\u81ea\u8d1f\uff0c\u4f60\u8bd5\u6210\u529f\u4e86\u662f\u9ad8\u4eba\u7684\u529f\u52b3\u5931\u8d25\u4e86\u4e0e\u4ed6\u65e0\u5173\u3002\u4e0d\u7528\u672c\u94b1\u5c31\u53ef\u4ee5\u4e0b\u4e00\u6ce8\uff0c\u8c01\u4e0d\u4e0a\u6765\u73a9\u4e24\u624b\uff1f", "created_at": "Wed Jul 15 06:14:31 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184794626, "id": "H-0HBU56soM", "repost_status": {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/9f/d0.jpg?1245573453", "id": "gravity0", "profile_sidebar_fill_color": "#e2f2da", "profile_text_color": "#222222", "followers_count": 2149, "profile_sidebar_border_color": "#b2d1a3", "location": "", "profile_background_color": "#1EB582", "utc_offset": 28800, "statuses_count": 13822, "description": "", "friends_count": 1950, "profile_link_color": "#0066cc", "profile_image_url": "http://avatar3.fanfou.com/s0/00/9f/d0.jpg?1245573453", "notifications": false, "birthday": "", "profile_background_image_url": "http://avatar.fanfou.com/b0/00/9f/d0_1243741171.jpg", "name": "gravity0", "profile_background_tile": false, "favourites_count": 26, "screen_name": "gravity0", "url": "http://geoxia.blogspot.com/", "gender": "", "created_at": "Sun Jan 18 13:35:44 +0000 2009", "protected": false, "following": false}, "favorited": false, "truncated": false, "text": "\u589e\u5e7f\u8d24\u6587\u8bf4\uff1a\u201c\u8d2b\u65e0\u8fbe\u58eb\u5c06\u91d1\u8d60\uff0c\u75c5\u6709\u9ad8\u4eba\u8bf4\u836f\u65b9\u201d\u3002\u4e3a\u4ec0\u4e48\u5462\uff1f\u56e0\u4e3a\u836f\u65b9\u3001\u70b9\u5b50\u3001\u9053\u7406\u8fd9\u4e9b\u7edf\u7edf\u4e0d\u503c\u94b1\uff0c\u5bf9\u9519\u96be\u8fa8\u540e\u679c\u81ea\u8d1f\uff0c\u4f60\u8bd5\u6210\u529f\u4e86\u662f\u9ad8\u4eba\u7684\u529f\u52b3\u5931\u8d25\u4e86\u4e0e\u4ed6\u65e0\u5173\u3002\u4e0d\u7528\u672c\u94b1\u5c31\u53ef\u4ee5\u4e0b\u4e00\u6ce8\uff0c\u8c01\u4e0d\u4e0a\u6765\u73a9\u4e24\u624b\uff1f", "created_at": "Wed Jul 15 00:49:40 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184784648, "id": "gD6URIMCmLw", "location": ""}}, {"repost_screen_name": "webto", "favorited": false, "repost_status_id": "wUovLrzqUh4", "repost_user_id": "webto", "truncated": false, "text": "\u8f6c@webto GoodFuckingDesignAdvice\u6d77\u62a5\u90ae\u8d39\u592a\u8d35\uff0c\u8f6c\u8fd0\u53c8\u62c5\u5fc3\u574f\u6389\uff0c\u4e8e\u662f\u81ea\u5df1\u5c71\u5be8\u4e86\u4e00\u5f20\u3002\u6709\u673a\u4f1a\u53bb\u7f8e\u5e1d\u7684\u8bdd\u518d\u8865\u4e0a\u6b20\u7684\u503a\u597d\u4e86\uff01", "created_at": "Tue Jul 14 16:24:44 +0000 2015", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184778187, "id": "Z5GtND6BHcE", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u591a\u4e48\u79ef\u6781\u4e50\u89c2\u7684\u4eba\u751f\u6001\u5ea6\u554a\uff01", "created_at": "Tue Jul 14 03:10:47 +0000 2015", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "photo": {"url": "http://fanfou.com/photo/bHwdLr_Zo30", "largeurl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/n0/0b/s7/qn_217667.jpg", "imageurl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/s0/0b/s7/qn_217667.jpg", "thumburl": "http://mtmos.com/v1/mss_3d027b52ec5a4d589e68050845611e68/ff/t0/0b/s7/qn_217667.jpg"}, "is_self": false, "rawid": 184752658, "id": "I3rliB0DIbg", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u897f\u6e38\u662f\u6700\u725b\u5f71\u89c6IP\uff0c\u4e09\u56fd\u662f\u6700\u725b\u6e38\u620fIP\uff0c\u90fd\u6ca1\u6709\u4e4b\u4e00\u3002", "created_at": "Sun Jul 12 13:09:51 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184697024, "id": "Hn1s7fZ_w3g", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u300c\u6ca1\u6709\u4eba\u6c38\u8fdc\u5e74\u8f7b\uff0c\u4f46\u6c38\u8fdc\u6709\u4eba\u5e74\u8f7b\u3002\u300d \u5546\u4e1a\u4e0a\u53ef\u4ee5\u89e3\u8bfb\u4e3a\uff0c\u5230\u5e95\u662f\u505a\u4e00\u4ee3\u4eba\u7684\u751f\u610f\uff0c\u8fd8\u662f\u67d0\u4e2a\u5e74\u9f84\u6bb5\u7684\u4eba\u7684\u751f\u610f\uff0c\u8fd9\u6700\u597d\u60f3\u6e05\u695a\u3002\u6709\u5fd7\u4e8e\u89e3\u51b3\u6240\u6709\u4eba\u6240\u6709\u9700\u6c42\u7684\u90a3\u53e6\u5f53\u522b\u8bba\u3002", "created_at": "Sun Jul 12 12:38:12 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184695938, "id": "_-x93cVTmxY", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u539f\u6765\u897f\u6e38\u8bb0\u4e5f\u5e76\u975e\u662f\u5434\u627f\u6069\u5b8c\u5168\u539f\u521b\u7684\u4f53\u7cfb\uff0c\u4e4b\u524d\u5c31\u6709\u5404\u79cd\u6c11\u95f4\u6545\u4e8b\u3002\u80e1\u9002\u548c\u9648\u5bc5\u606a\u66f4\u662f\u8003\u8bc1\u8bf4\u5b59\u609f\u7a7a\u7684\u539f\u578b\u662f\u5370\u5ea6\u53f2\u8bd7\u300a\u7f57\u6469\u884d\u90a3\u300b\u91cc\u7684\u795e\u7334\u54c8\u52aa\u66fc\u3002\u679c\u771f\u662f\u300c\u592a\u9633\u5e95\u4e0b\u65e0\u65b0\u4e8b\u300d\u3002", "created_at": "Sun Jul 12 11:33:03 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184693962, "id": "F13-sXtktVQ", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u597d\u83b1\u575e\u6709\u8759\u8760\u4fa0\u3001\u8718\u86db\u4fa0\u548c\u94a2\u94c1\u4fa0\uff0c\u56fd\u5185\u5927\u9e4f\u62cd\u7684\u300a\u714e\u997c\u4fa0\u300b\u5373\u5c06\u4e0a\u6620\uff0c\u7504\u5b50\u4e39\u7684\u300a\u9762\u6761\u4fa0\u300b\u4e5f\u5df2\u7ecf\u7acb\u9879-_-\uff01", "created_at": "Sun Jul 12 10:53:03 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184692911, "id": "OPx3XeJtEZo", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6628\u665a\u597d\u50cf\u505a\u4e86\u4e00\u4e2a\u548c\u5929\u4f53\u6709\u5173\u7684\u68a6\uff0c\u4f46\u5177\u4f53\u7684\u8bb0\u4e0d\u6e05\u4e86\u3002", "created_at": "Sat Jul 11 02:07:57 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184646286, "id": "yzTSvEtI8_w", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u65e5\u51fa\u4e1c\u65b9\u3002", "created_at": "Fri Jul 10 23:24:36 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184642123, "id": "G9f6kR1FYg8", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "gravity0", "favorited": false, "repost_status_id": "n04NEOhaOI4", "repost_user_id": "gravity0", "truncated": false, "text": "\u6ca1\u620f\uff0c\u6253\u662f\u8dd1\u4e0d\u6389\u7684\u3002\u65e5\u672c\u89ca\u89ce\u53ef\u4e0d\u662f\u5341\u4e5d\u4e16\u7eaa\u7684\u4e8b\uff0c\u5341\u516d\u4e16\u7eaa\u4e30\u81e3\u79c0\u5409\u65f6\u4ee3\u5c31\u51fa\u8fc7\u5175\u4e86\u3002\u8f6c@\u957f\u591c\u8fc7\u5b8c\u7ec8\u7a76\u8981\u9192\u6765 \u5982\u679c\u5f53\u521d\u671d\u9c9c\u95ee\u9898\u5904\u7406\u7684\u597d\uff0c\u4e2d\u65e5\u672c\u6765\u662f\u6253\u4e0d\u8d77\u6765\u7684\u3002\u8f6c@\u738b\u5174 \u671d\u9c9c\u672c\u4e0d\u5173\u952e\uff0c\u65e5\u672c\u624d\u5173\u952e\u5427\u3002\u8f6c@peter \u8f6c@gravity0 \u7f57\u80d6\u672c\u671f\u8bf4\u4e2d\u6cd5\u6218\u4e89\uff0c\u85e9\u5c5e\u8d8a\u5357\u4e0d\u5982\u671d\u9c9c\u91cd\u8981", "created_at": "Fri Jul 10 17:10:37 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184639323, "id": "7Xf9h7x7SxY", "repost_status": {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/9f/d0.jpg?1245573453", "id": "gravity0", "profile_sidebar_fill_color": "#e2f2da", "profile_text_color": "#222222", "followers_count": 2149, "profile_sidebar_border_color": "#b2d1a3", "location": "", "profile_background_color": "#1EB582", "utc_offset": 28800, "statuses_count": 13822, "description": "", "friends_count": 1950, "profile_link_color": "#0066cc", "profile_image_url": "http://avatar3.fanfou.com/s0/00/9f/d0.jpg?1245573453", "notifications": false, "birthday": "", "profile_background_image_url": "http://avatar.fanfou.com/b0/00/9f/d0_1243741171.jpg", "name": "gravity0", "profile_background_tile": false, "favourites_count": 26, "screen_name": "gravity0", "url": "http://geoxia.blogspot.com/", "gender": "", "created_at": "Sun Jan 18 13:35:44 +0000 2009", "protected": false, "following": false}, "favorited": false, "truncated": false, "text": "\u7f57\u80d6\u672c\u671f\u8bf4\u4e2d\u6cd5\u6218\u4e89\uff0c\u85e9\u5c5e\u8d8a\u5357\u4e0d\u5982\u671d\u9c9c\u91cd\u8981\uff0c\u72af\u4e0d\u4e0a\u4e3a\u5b83\u635f\u5931\u90a3\u4e48\u591a\u3002\u65e0\u5948\u5bab\u5ef7\u6743\u6597\uff0c\u6148\u79a7\u8981\u641e\u6389\u7a33\u5065\u4e3b\u548c\u7684\u9b3c\u5b50\u516d\u5c31\u8981\u63d0\u62d4\u4e3b\u6218\u7684\u6e05\u6d41\u3002\u8d70\u4e86\u6b65\u81ed\u68cb\u65ad\u9001\u4e86\u6d0b\u52a1\uff0c\u5341\u5e74\u540e\u671d\u9c9c\u4e5f\u4e22\u4e86\u3002\u8bdd\u8bf4\u672c\u671d\u592a\u7956\u5f81\u671d\u9c9c\u592a\u5b97\u5f81\u8d8a\u5357\uff0c\u8fd9\u56de\u987a\u5e8f\u597d\u50cf\u5bf9\u4e86\u3002", "created_at": "Fri Jul 10 13:30:12 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184630515, "id": "n04NEOhaOI4", "location": ""}}, {"repost_screen_name": "gravity0", "favorited": false, "repost_status_id": "n04NEOhaOI4", "repost_user_id": "gravity0", "truncated": false, "text": "\u671d\u9c9c\u672c\u4e0d\u5173\u952e\uff0c\u65e5\u672c\u624d\u5173\u952e\u5427\u3002\u8f6c@peter \u8f6c@gravity0 \u7f57\u80d6\u672c\u671f\u8bf4\u4e2d\u6cd5\u6218\u4e89\uff0c\u85e9\u5c5e\u8d8a\u5357\u4e0d\u5982\u671d\u9c9c\u91cd\u8981\uff0c\u72af\u4e0d\u4e0a\u4e3a\u5b83\u635f\u5931\u90a3\u4e48\u591a\u3002\u65e0\u5948\u5bab\u5ef7\u6743\u6597\uff0c\u6148\u79a7\u8981\u641e\u6389\u7a33\u5065\u4e3b\u548c\u7684\u9b3c\u5b50\u516d\u5c31\u8981\u63d0\u62d4\u4e3b\u6218\u7684\u6e05\u6d41\u3002\u8d70\u4e86\u6b65\u81ed\u68cb\u65ad\u9001\u4e86\u6d0b\u52a1\uff0c\u5341\u5e74\u540e\u671d\u9c9c\u4e5f\u4e22\u4e86\u3002\u8bdd\u8bf4\u672c\u671d\u592a\u7956\u5f81\u671d\u9c9c\u592a\u5b97\u5f81\u8d8a\u5357\uff0c\u8fd9\u56de\u987a\u5e8f\u597d\u50cf\u5bf9\u4e86\u3002", "created_at": "Fri Jul 10 16:52:21 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184638825, "id": "lUIGrYJXgC8", "repost_status": {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/9f/d0.jpg?1245573453", "id": "gravity0", "profile_sidebar_fill_color": "#e2f2da", "profile_text_color": "#222222", "followers_count": 2149, "profile_sidebar_border_color": "#b2d1a3", "location": "", "profile_background_color": "#1EB582", "utc_offset": 28800, "statuses_count": 13822, "description": "", "friends_count": 1950, "profile_link_color": "#0066cc", "profile_image_url": "http://avatar3.fanfou.com/s0/00/9f/d0.jpg?1245573453", "notifications": false, "birthday": "", "profile_background_image_url": "http://avatar.fanfou.com/b0/00/9f/d0_1243741171.jpg", "name": "gravity0", "profile_background_tile": false, "favourites_count": 26, "screen_name": "gravity0", "url": "http://geoxia.blogspot.com/", "gender": "", "created_at": "Sun Jan 18 13:35:44 +0000 2009", "protected": false, "following": false}, "favorited": false, "truncated": false, "text": "\u7f57\u80d6\u672c\u671f\u8bf4\u4e2d\u6cd5\u6218\u4e89\uff0c\u85e9\u5c5e\u8d8a\u5357\u4e0d\u5982\u671d\u9c9c\u91cd\u8981\uff0c\u72af\u4e0d\u4e0a\u4e3a\u5b83\u635f\u5931\u90a3\u4e48\u591a\u3002\u65e0\u5948\u5bab\u5ef7\u6743\u6597\uff0c\u6148\u79a7\u8981\u641e\u6389\u7a33\u5065\u4e3b\u548c\u7684\u9b3c\u5b50\u516d\u5c31\u8981\u63d0\u62d4\u4e3b\u6218\u7684\u6e05\u6d41\u3002\u8d70\u4e86\u6b65\u81ed\u68cb\u65ad\u9001\u4e86\u6d0b\u52a1\uff0c\u5341\u5e74\u540e\u671d\u9c9c\u4e5f\u4e22\u4e86\u3002\u8bdd\u8bf4\u672c\u671d\u592a\u7956\u5f81\u671d\u9c9c\u592a\u5b97\u5f81\u8d8a\u5357\uff0c\u8fd9\u56de\u987a\u5e8f\u597d\u50cf\u5bf9\u4e86\u3002", "created_at": "Fri Jul 10 13:30:12 +0000 2015", "source": "\u7f51\u9875", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184630515, "id": "n04NEOhaOI4", "location": ""}}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6211\u7279\u610f\u67e5\u4e86\u4e00\u4e0b\uff0c\u767e\u5ea6\u767e\u79d1\u7684\u300c\u96c6\u90ae\u300d\u8bcd\u6761\u91cc\u5e76\u6ca1\u6709\u6536\u5f55\u90a3\u4e2a\u4e0e\u65f6\u4ff1\u8fdb\u7684\u91ca\u4e49\u3002\u8fd9\u8bf4\u660e\u767e\u5ea6\u767e\u79d1\u4e5f\u5df2\u7ecf\u8001\u4e86\u3002", "created_at": "Thu Jul 09 18:33:37 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184601348, "id": "aN4YmcPoywU", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "\u738b\u5174", "favorited": false, "repost_status_id": "J1oAO1uznHs", "repost_user_id": "wangxing", "truncated": false, "text": "\u5988\u86cb\uff01 \u8f6c@\u5973\u795e\u90dd\u82f1\u4fca \u73b0\u5728\u7684\u5b69\u5b50\u96c6\u90ae\u5df2\u7ecf\u4e0d\u662f\u4ee5\u524d\u90a3\u4e2a\u610f\u601d\u4e86\u300c@\u738b\u5174 \u73b0\u5728\u7684\u5b69\u5b50\u5df2\u7ecf\u4e0d\u50cf\u6211\u5c0f\u65f6\u5019\u90a3\u6837\u6709\u96c6\u90ae\u7684\u7ecf\u9a8c\u4e86\u5427\uff1f\u300d", "created_at": "Thu Jul 09 18:17:01 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184601240, "id": "VzVOGR0VgU8", "repost_status": {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u73b0\u5728\u7684\u5b69\u5b50\u5df2\u7ecf\u4e0d\u50cf\u6211\u5c0f\u65f6\u5019\u90a3\u6837\u6709\u96c6\u90ae\u7684\u7ecf\u9a8c\u4e86\u5427\uff1f", "created_at": "Thu Jul 09 18:14:55 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184601218, "id": "J1oAO1uznHs", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "@IwfWcf \u8fd8\u80fd\u71ac\u591c\u5c31\u4e0d\u7b97\u592a\u8001", "created_at": "Thu Jul 09 18:16:38 +0000 2015", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "8i8VUCFR6Bs", "in_reply_to_screen_name": "IwfWcf", "in_reply_to_user_id": "Iwfwcf", "is_self": false, "rawid": 184601234, "id": "8F4626sfr6g", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u73b0\u5728\u7684\u5b69\u5b50\u5df2\u7ecf\u4e0d\u50cf\u6211\u5c0f\u65f6\u5019\u90a3\u6837\u6709\u96c6\u90ae\u7684\u7ecf\u9a8c\u4e86\u5427\uff1f", "created_at": "Thu Jul 09 18:14:55 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184601218, "id": "J1oAO1uznHs", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u79fb\u52a8\u5e94\u7528\u5206\u53d1\u7684\u524d\u4e09\u5f3a\uff08\u767e\u5ea6\u624b\u673a\u52a9\u624b\u3001360\u624b\u673a\u52a9\u624b\u3001\u817e\u8baf\u5e94\u7528\u5b9d\uff09\u91cc\u53ea\u6709\u300c\u5e94\u7528\u5b9d\u300d\u662f\u72ec\u7acb\u7684\u4ea7\u54c1\u54c1\u724c\u3002", "created_at": "Thu Jul 09 17:36:16 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184600886, "id": "DFSkE6ZhhZE", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "@\u9ad8\u6a4b\u4e73 \u7528\u8fc7\u3002\u600e\u4e48\u5566\uff1f", "created_at": "Thu Jul 09 02:21:52 +0000 2015", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "YHBXu_1-c5E", "in_reply_to_screen_name": "\u9ad8\u6a4b\u4e73", "in_reply_to_user_id": "akimotokun", "is_self": false, "rawid": 184571384, "id": "jSwouvNOgLQ", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u7b2c\u4e00\u6b21\u5fd8\u6234apple watch\u3002", "created_at": "Thu Jul 09 01:43:58 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184570097, "id": "51Mpl52rIUs", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6211\u53d1\u73b0\uff0c\u8d8a\u662f\u9ad8\u903c\u683c\u7684\u8bcd\u6211\u8d8a\u4e0d\u77e5\u9053\u82f1\u8bed\u91cc\u600e\u4e48\u8bf4\u3002\u300c\u683c\u5c40\u300d\u662f\u4e00\u4e2a\u4f8b\u5b50\uff0c\u300c\u60c5\u6000\u300d\u4e5f\u662f\u3002", "created_at": "Tue Jul 07 05:47:09 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184503157, "id": "_UxWimv1AxI", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u4e00\u4e2a\u6295\u8eab\u7535\u5f71\u5236\u4f5c\u516c\u53f8\u7684\u6e05\u534e\u5e08\u59b9\u5410\u69fd\uff0c\u73b0\u5728\u65b0\u4e00\u4ee3\u6f14\u5458\u4e0d\u4f46\u6f14\u6280\u8d8a\u6765\u8d8a\u5dee\uff0c\u8fde\u989c\u503c\u90fd\u5f80\u4e0b\u8d70\uff0c\u4e2d\u620f/\u5317\u5f71\u8868\u6f14\u7cfb\u7684\u5728\u8bfb\u5b66\u751f\u4e5f\u4e0d\u60ca\u8273\u3002\u539f\u56e0\u636e\u8bf4\u662f\uff1a\u4e2d\u620f/\u5317\u5f71\u7684\u62e9\u6821\u8d39\u5df2\u9ad8\u8fbe\u4e24\u4e09\u767e\u4e07\uff0c\u5df2\u7ecf\u88ab\u571f\u8c6a\u5a36\u7f8e\u5973\u540e\u8bde\u751f\u7684\u300c\u957f\u76f8\u968f\u7239\u3001\u5934\u8111\u968f\u5988\u300d\u7684\u5bcc\u4e8c\u4ee3\u4eec\u5360\u9886-_-!", "created_at": "Sun Jul 05 06:10:46 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184428747, "id": "c-m8cwLmj84", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "FTS.", "favorited": false, "repost_status_id": "yh8y5GRE9wU", "repost_user_id": "fts.", "truncated": false, "text": "\u8f6c@webto \u54c8\u54c8\u54c8\u54c8\u54c8\u54c8 RT@FTS. \u300c\u5c3c\u739b\u73b0\u9636\u6bb5\u6211\u56fd\u4e3b\u8981\u77db\u76fe\u771f\u662f\u201c\u4eba\u6c11\u7fa4\u4f17\u65e5\u76ca\u589e\u957f\u7684\u7ef4\u6743\u610f\u8bc6\u548c\u505c\u6ede\u4e0d\u524d\u7684\u72ec\u7acb\u601d\u8003\u80fd\u529b\u4ee5\u53ca\u5e38\u8bc6\u7f3a\u5931\u95f4\u7684\u77db\u76fe\u300d", "created_at": "Sat Jul 04 01:48:52 +0000 2015", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184388341, "id": "LFwDr_bIha4", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u300c\u5927\u591a\u6570\u4eba\u4ee5\u4e3a\u6218\u4e89\u662f\u7531\u62fc\u640f\u7ec4\u6210\u7684\uff0c\u5176\u5b9e\u4e0d\u662f\uff0c\u662f\u7531\u7b49\u5f85\u548c\u714e\u71ac\u7ec4\u6210\u7684\u2026\u300d\u8bf4\u8fd9\u8bdd\u7684\u5927\u54e5\u5f53\u5e74\u53c2\u52a0\u8fc7\u4e2d\u8d8a\u6218\u4e89\uff0c\u540e\u6765\u521b\u8fc7\u4e1a\uff0c\u73b0\u5728\u505a\u6295\u8d44\u3002", "created_at": "Sat Jul 04 01:47:52 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184388320, "id": "D0pbII8fJYQ", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u5317\u4eac\u961f\u4e09\u593aCBA\u603b\u51a0\u519b\u4e4b\u540e\uff0c\u636e\u8bf4\u7acb\u9879\u8981\u62cd\u6700\u5f3a\u5916\u63f4\u9a6c\u5e03\u91cc\u7684\u7535\u5f71\u5df2\u7ecf\u6709\u5341\u51e0\u4e2a\u4e86-_-!", "created_at": "Fri Jul 03 12:33:46 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184372651, "id": "fLsNScrDwpU", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u51e0\u5e74\u524d\uff0c\u4e00\u4e2a\u54c1\u4f4d\u5f88\u53d7\u8ba4\u53ef\u7684\u670b\u53cb\u5411\u6211\u63a8\u8350\u5f90\u7693\u5cf0\u5199\u7684\u300a\u9053\u58eb\u4e0b\u5c71\u300b\u3002\u6211\u8bfb\u4e86\uff0c\u540e\u6765\u8fd8\u9646\u7eed\u8bfb\u4e86\u5f90\u7684\u5176\u4ed6\u51e0\u90e8\u5c0f\u8bf4\u3002\u6628\u5929\uff0c\u9648\u51ef\u6b4c\u5bfc\u6f14\u7684\u300a\u9053\u58eb\u4e0b\u5c71\u300b\u4e0a\u6620\u4e86\u3002\u6211\u6253\u7b97\u53bb\u770b\u3002", "created_at": "Thu Jul 02 17:19:15 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184346276, "id": "OzGB0B-6L5I", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "@\u840c\u840c\u8089 \u4f60\u8bf4\u7684\u662f\u753b\u56fe\u8f6f\u4ef6visio\u5427\u3002\u90a3\u662f\u51e0\u5e74\u524d\u7684\u4e8b\u4e86\u3002", "created_at": "Wed Jul 01 10:04:31 +0000 2015", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "Ic0Gk2mb8GA", "in_reply_to_screen_name": "\u840c\u840c\u8089", "in_reply_to_user_id": "~Q8uvnTVLk64", "is_self": false, "rawid": 184294555, "id": "9dpENDfW9vI", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}, {"repost_screen_name": "\u738b\u5174", "favorited": false, "repost_status_id": "2S3bqqBVm8k", "repost_user_id": "wangxing", "truncated": false, "text": "\u5fd8\u4e86\uff0cjs\u6211\u4e5f\u641e\u8fc7\uff0c\u5f53\u5e74\u8fd8\u6298\u817e\u8fc7\u5728\u6d4f\u89c8\u5668\u91cc\u7528js\u505a\u4e00\u4e2a\u4e2d\u6587\u8f93\u5165\u6cd5\u5462\u3002\u8f6c@\u5f25\u57ce \u7adf\u7136\u6ca1\u6709javascript\uff0c\u5dee\u8bc4\u3002\u8f6c@\u738b\u5174 \u6211\u4f1a\uff08\u81f3\u5c11\u66fe\u7ecf\u5927\u81f4\u4f1a\u8fc7\uff09basic\u3001logo\u3001pascal\u30018086\u6c47\u7f16\u3001c\u3001c++\u3001java\u3001php\u3001perl\u3001python\uff0c\u4f46\u73b0\u5728\u5bf9\u6211\u800c\u8a00\uff0c\u6700\u91cd\u8981\u7684\u8bed\u8a00", "created_at": "Wed Jul 01 05:45:41 +0000 2015", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "source": "\u624b\u673a\u4e0a\u7f51", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "rawid": 184286480, "id": "OaMxBfX7Q_U", "repost_status": {"user": {"profile_image_url_large": "http://avatar3.fanfou.com/l0/00/31/n3.jpg?1179311049", "id": "wangxing", "profile_sidebar_fill_color": "#cccaca", "profile_text_color": "#403333", "followers_count": 156613, "profile_sidebar_border_color": "#999191", "location": "\u5317\u4eac \u6d77\u6dc0\u533a", "profile_background_color": "#dadada", "utc_offset": 28800, "statuses_count": 7695, "description": "\u5982\u679c\u6211\u4e00\u6574\u5929\u90fd\u6ca1\u770b\u5230\u3001\u60f3\u5230\u3001\u6216\u505a\u8fc7\u4ec0\u4e48\u503c\u5f97\u5728\u996d\u5426\u4e0a\u8bf4\u7684\u4e8b\uff0c\u90a3\u8fd9\u4e00\u5929\u5c31\u592a\u6d51\u6d51\u5669\u5669\u4e86\u3002\r\n\r\n\u7f8e\u56e2\u521b\u59cb\u4eba\uff0c\r\n\u996d\u5426\u521b\u59cb\u4eba\uff0c\r\n\u6821\u5185\u7f51\u521b\u59cb\u4eba\uff0c\r\n\u975e\u5178\u578b\u6e05\u534e\u5de5\u79d1\u7537\u3002\r\n\r\nCreate like a god.\r\nCommand like a king.\r\nWork like a slave.", "friends_count": 730, "profile_link_color": "#990000", "profile_image_url": "http://avatar3.fanfou.com/s0/00/31/n3.jpg?1179311049", "notifications": true, "birthday": "0000-02-18", "profile_background_image_url": "http://static.fanfou.com/img/bg/3.jpg", "name": "\u738b\u5174", "profile_background_tile": true, "favourites_count": 114, "screen_name": "\u738b\u5174", "url": "", "gender": "\u7537", "created_at": "Sat May 12 14:24:26 +0000 2007", "protected": false, "following": true}, "favorited": false, "truncated": false, "text": "\u6211\u4f1a\uff08\u81f3\u5c11\u66fe\u7ecf\u5927\u81f4\u4f1a\u8fc7\uff09basic\u3001logo\u3001pascal\u30018086\u6c47\u7f16\u3001c\u3001c++\u3001java\u3001php\u3001perl\u3001python\uff0c\u4f46\u73b0\u5728\u5bf9\u6211\u800c\u8a00\uff0c\u6700\u91cd\u8981\u7684\u8bed\u8a00\u8fd8\u662f\u6c49\u8bed\uff0c\u6216\u8bb8\u518d\u52a0\u4e0a\u82f1\u8bed\u3002", "created_at": "Mon Jun 29 17:04:32 +0000 2015", "source": "iPhone\u7248", "in_reply_to_status_id": "", "in_reply_to_screen_name": "", "in_reply_to_user_id": "", "is_self": false, "rawid": 184237181, "id": "2S3bqqBVm8k", "location": "\u5317\u4eac \u6d77\u6dc0\u533a"}}] -------------------------------------------------------------------------------- /demo.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-11 15:45:36 5 | from __future__ import print_function 6 | 7 | 8 | def test(*args, **kwargs): 9 | print(args) 10 | print(kwargs) 11 | print(kwargs['hello']) 12 | print(kwargs.get('no')) 13 | print(kwargs.get('none', 'default')) 14 | 15 | 16 | d = {} 17 | d['hello'] = 2015 18 | d['str'] = 'message' 19 | d['value'] = True 20 | d['none'] = None 21 | 22 | test([1, 2, 3, 4, 5], **d) 23 | -------------------------------------------------------------------------------- /fanfou/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-07 22:45:48 5 | from __future__ import print_function 6 | from . import xauth 7 | from . import basedb 8 | from . import api 9 | from . import config 10 | from . import db 11 | from . import backup 12 | from . import backupcmd 13 | from . import backupui 14 | 15 | if __name__ == '__main__': 16 | pass 17 | -------------------------------------------------------------------------------- /fanfou/api.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-05 07:26:59 5 | 6 | import requests 7 | from requests_oauthlib import OAuth1 8 | from . import xauth 9 | from . import config 10 | import logging 11 | 12 | logging.basicConfig(level=logging.WARNING) 13 | 14 | logger = logging.getLogger(__name__) 15 | 16 | 17 | class ApiError(Exception): 18 | 19 | def __init__(self, code, message): 20 | super(ApiError, self).__init__(code, message) 21 | 22 | # https://github.com/FanfouAPI/FanFouAPIDoc/wiki/Apicategory 23 | # date time format --> Wed Aug 05 12:59:18 +0000 2015 24 | 25 | 26 | class ApiClient(object): 27 | 28 | def __init__(self, oauth_token=None, verbose=False): 29 | self.consumer_key = config.CONSUMER_KEY 30 | self.consumer_secret = config.CONSUMER_SECRET 31 | self.token_url = config.TOKEN_URL 32 | self.api_host = config.API_HOST 33 | self.oauth_token = None 34 | self.oauth = None 35 | self.user = None 36 | self.verbose = verbose 37 | 38 | def _get_url(self, path): 39 | return self.api_host+path+".json" 40 | 41 | def _check_auth(self, oauth_token): 42 | if oauth_token: 43 | self.oauth_token = oauth_token 44 | self.oauth = OAuth1(self.consumer_key, 45 | client_secret=self.consumer_secret, 46 | resource_owner_key=oauth_token["oauth_token"], 47 | resource_owner_secret=oauth_token[ 48 | "oauth_token_secret"], 49 | signature_type='auth_header') 50 | self.user = self.verify_credentials() 51 | return self.user 52 | 53 | def _send_request(self, method, path, **kwargs): 54 | logger.info("[HTTP请求] %s %s %s" % (method, path, kwargs)) 55 | url = self._get_url(path) 56 | r = requests.request(method, url, auth=self.oauth, **kwargs) 57 | logger.info("[HTTP响应]", r.url, r.status_code, r.encoding) 58 | if r.status_code >= requests.codes.ok and r.status_code < 400: 59 | return r.json() 60 | elif r.status_code == 403: 61 | raise ApiError(r.status_code, "你没有权限查看该数据") 62 | elif r.status_code == 404: 63 | raise ApiError(r.status_code, "你请求的数据不存在") 64 | else: 65 | raise ApiError(r.status_code, r.text) 66 | 67 | def login(self, username, password): 68 | # try: 69 | client = xauth.AuthClient( 70 | self.consumer_key, self.consumer_secret, self.token_url) 71 | access_token = client.get_access_token(username, password) 72 | logger.info("登录成功,Token是", access_token['oauth_token']) 73 | self._check_auth(access_token) 74 | # except AuthError, e: 75 | # print "Error: login failed", e 76 | # access_token = None 77 | return access_token 78 | 79 | def set_oauth_token(self, oauth_token): 80 | return self._check_auth(oauth_token) 81 | 82 | def is_verified(self): 83 | return self.oauth_token and self.user 84 | 85 | def get(self, path, **kwargs): 86 | return self._send_request("GET", path, **kwargs) 87 | 88 | def post(self, path, **kwargs): 89 | return self._send_request("POST", path, **kwargs) 90 | 91 | def delete(self, path, **kwargs): 92 | return self._send_request("DELETE", path, **kwargs) 93 | 94 | def put(self, path, **kwargs): 95 | return self._send_request("PUT", path, **kwargs) 96 | 97 | def verify_credentials(self): 98 | return self.get("/account/verify_credentials") 99 | 100 | def get_rate_limit_status(self): 101 | return self.get("/account/rate_limit_status") 102 | 103 | def search_public_timeline2(self, keyword, count=0, 104 | since_id=None, max_id=None, mode=None): 105 | params = {"q": keyword, "since_id": since_id, 106 | "max_id": max_id, "count": count, 107 | "mode": mode, "format": "html"} 108 | return self.get("/search/public_timeline", params=params) 109 | 110 | def search_public_timeline(self, keyword, **kwargs): 111 | params = kwargs if kwargs else {} 112 | params["q"] = keyword 113 | return self.get("/search/public_timeline", params=params) 114 | 115 | def search_user_timeline(self, keyword, user_id, **kwargs): 116 | params = kwargs if kwargs else {} 117 | params["q"] = keyword 118 | params['id'] = user_id 119 | return self.get("/search/user_timeline", params=params) 120 | 121 | def get_home_timeline(self, **kwargs): 122 | params = kwargs if kwargs else {} 123 | return self.get("/statuses/home_timeline", params=params) 124 | 125 | def get_public_timeline(self, **kwargs): 126 | params = kwargs if kwargs else {} 127 | return self.get("/statuses/public_timeline", params=params) 128 | 129 | def get_mentions(self, **kwargs): 130 | params = kwargs if kwargs else {} 131 | return self.get("/statuses/mentions", params=params) 132 | 133 | def get_user_timeline(self, user_id, **kwargs): 134 | params = kwargs if kwargs else {} 135 | params['id'] = user_id 136 | return self.get("/statuses/user_timeline", params=params) 137 | 138 | def get_user_photos(self, user_id, **kwargs): 139 | params = kwargs if kwargs else {} 140 | params['id'] = user_id 141 | return self.get("/photos/user_timeline", params=params) 142 | 143 | def get_user_favorites(self, user_id, **kwargs): 144 | params = kwargs if kwargs else {} 145 | #params['id'] = user_id 146 | return self.get("/favorites/%s" % user_id, params=params) 147 | 148 | def get_context_timeline(self, status_id, **kwargs): 149 | params = kwargs if kwargs else {} 150 | params['id'] = status_id 151 | return self.get("/statuses/context_timeline", params=params) 152 | 153 | def get_status(self, status_id, **kwargs): 154 | params = kwargs if kwargs else {} 155 | params['id'] = status_id 156 | return self.get("/statuses/show", params=params) 157 | 158 | def get_inbox_messages(self, **kwargs): 159 | params = kwargs if kwargs else {} 160 | return self.get("/direct_messages/inbox", params) 161 | 162 | def get_outbox_messages(self, **kwargs): 163 | params = kwargs if kwargs else {} 164 | return self.get("//direct_messages/sent", params) 165 | 166 | def get_conversation_list(self, **kwargs): 167 | params = kwargs if kwargs else {} 168 | return self.get("/privete_messages/conversation_list", params) 169 | 170 | def get_conversation(self, user_id, **kwargs): 171 | params = kwargs if kwargs else {} 172 | params['id'] = user_id 173 | return self.get("/privete_messages/conversation_list", params) 174 | 175 | def get_trends(self): 176 | return self.get("/photos/user_timeline",) 177 | 178 | def search_user(self, keyword, **kwargs): 179 | params = kwargs if kwargs else {} 180 | params["q"] = keyword 181 | return self.get("/search/users", params=params) 182 | 183 | def get_user(self, user_id, **kwargs): 184 | params = kwargs if kwargs else {} 185 | params["id"] = user_id 186 | return self.get("/users/show", params=params) 187 | 188 | def get_followers(self, user_id=None, **kwargs): 189 | params = kwargs if kwargs else {} 190 | params["id"] = user_id 191 | return self.get("/statuses/followers", params=params) 192 | 193 | def get_friends(self, user_id=None, **kwargs): 194 | params = kwargs if kwargs else {} 195 | params["id"] = user_id 196 | return self.get("/statuses/friends", params=params) 197 | 198 | def update_profile(self, **kwargs): 199 | data = kwargs if kwargs else {} 200 | return self.post("/account/update_profile", data=data) 201 | 202 | def post_status(self, status, **kwargs): 203 | data = kwargs if kwargs else {} 204 | data['status'] = status 205 | return self.post("/account/update_profile", data=data) 206 | 207 | if __name__ == '__main__': 208 | client = ApiClient() 209 | client.login("test", "test") 210 | client.verify_credentials() 211 | # client.get_home_timeline(count=1) 212 | # print client.get_user("wangxing", mode="default", format="html") 213 | print(client.get_user_photos("wangxing", count=1)) 214 | -------------------------------------------------------------------------------- /fanfou/backup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-06 07:23:50 5 | from __future__ import print_function 6 | import sys 7 | import os 8 | import argparse 9 | from . import utils 10 | import time 11 | from .api import ApiClient 12 | from .api import ApiError 13 | from .db import DB 14 | import os 15 | import json 16 | import logging 17 | from . import renderer 18 | from requests import ConnectionError 19 | from multiprocessing import Pool 20 | from multiprocessing.dummy import Pool as ThreadPool 21 | 22 | ''' 23 | 饭否数据处理脚本 24 | ''' 25 | 26 | DEFAULT_COUNT = 60 27 | DEFAULT_USER_COUNT = 100 28 | 29 | __version__ = '1.0.0' 30 | __stdout__ = sys.stdout 31 | 32 | logger = logging.getLogger(__name__) 33 | 34 | 35 | class Backup(object): 36 | 37 | def __init__(self, **options): 38 | ''' 39 | 备份指定用户的饭否消息数据 40 | ''' 41 | logger.info('Backup.init()', options) 42 | 43 | self._parse_options(**options) 44 | self.api = ApiClient(False) 45 | self.token = utils.load_account_info(self.username) 46 | self.user = None 47 | self.target_id = None 48 | self.db = None 49 | self.cancelled = False 50 | self.total = 0 51 | self.user_total = 0 52 | self.photo_total = 0 53 | 54 | def _parse_options(self, **options): 55 | ''' 56 | username - 用户帐号(可选) 57 | password - 用户密码(可选) 58 | output - 数据保存目录 59 | target - 目标用户ID 60 | include_user - 是否备份好友资料 61 | include_photo - 是否备份相册照片 62 | ''' 63 | self.username = options.get('username') 64 | self.password = options.get('password') 65 | self.auth_mode = self.username and self.password 66 | self.target = options.get('target') 67 | self.output = os.path.abspath( 68 | options.get('output') or os.path.join('output')) 69 | self.include_user = options.get('include_user') 70 | self.include_photo = options.get('include_photo') 71 | 72 | def _precheck(self): 73 | if self.token: 74 | print('载入{1}的本地登录信息{0}'.format( 75 | self.token['oauth_token'], self.username)) 76 | self.api.set_oauth_token(self.token) 77 | if self.auth_mode: 78 | if self.api.is_verified(): 79 | self.token = self.api.oauth_token 80 | self.user = self.api.user 81 | else: 82 | self.token = self.api.login(self.username, self.password) 83 | self.user = self.api.user 84 | print('保存{1}的登录信息{0}'.format( 85 | self.token['oauth_token'], self.username)) 86 | utils.save_account_info(self.username, self.token) 87 | if not self.target and not self.user: 88 | print('没有指定备份的目标用户') 89 | return 90 | self.target_id = self.target or self.user['id'] 91 | 92 | def stop(self): 93 | print('收到终止备份的命令,即将停止...') 94 | self.cancelled = True 95 | 96 | def start(self): 97 | self._precheck() 98 | if not self.target_id: 99 | return 100 | try: 101 | self.target_user = self.api.get_user(self.target_id) 102 | except ApiError as e: 103 | if e.args[0] == 404: 104 | print('你指定的用户{0}不存在'.format(self.target_id)) 105 | self.target_user = None 106 | if not self.target_user: 107 | print( 108 | '无法获取用户{0}的信息'.format(self.target_id)) 109 | return 110 | print('用户{0}共有{1}条消息,{2}个好友'.format( 111 | self.target_user['id'], 112 | self.target_user['statuses_count'], 113 | self.target_user['friends_count'])) 114 | if not os.path.exists(self.output): 115 | os.mkdir(self.output) 116 | print('开始备份用户{0}的消息...'.format(self.target_id)) 117 | db_file = os.path.abspath( 118 | '{0}/{1}.db'.format(self.output, self.target_id)) 119 | print('保存路径:{0}'.format(self.output)) 120 | self.db = DB(db_file) 121 | db_count = self.db.get_status_count() 122 | if db_count: 123 | print('发现数据库已备份消息{0}条'.format(db_count)) 124 | # first ,check new statuses 125 | self._fetch_newer_statuses() 126 | # then, check older status 127 | self._fetch_older_statuses() 128 | if self.include_photo: 129 | # check user photos 130 | print('开始备份用户{0}的相册照片...'.format(self.target_id)) 131 | start = time.time() 132 | self._fetch_photos_multi() 133 | elasped = time.time()-start 134 | print('备份用户{0}的照片共耗时{1}秒'.format(self.target_id, elasped)) 135 | if self.include_user: 136 | # check user followings 137 | print('开始备份用户{0}的好友资料...'.format(self.target_id)) 138 | self._fetch_followings() 139 | self._render_statuses() 140 | self._report() 141 | if self.cancelled: 142 | print('本次备份已终止') 143 | else: 144 | print('本次备份已完成') 145 | self.db.close() 146 | 147 | def _report(self): 148 | print('本次共备份了{1}的{0}条消息'.format( 149 | self.total, self.target_id)) 150 | print('本次共备份了{1}的{0}张照片'.format( 151 | self.photo_total, self.target_id)) 152 | print('本次共备份了{1}的{0}个好友'.format( 153 | self.user_total, self.target_id)) 154 | 155 | def _render_statuses(self): 156 | db_data = self.db.get_all_status() 157 | if db_data: 158 | data = [] 159 | print('开始读取{0}的消息列表数据...'.format(self.target_id)) 160 | for dt in db_data: 161 | data.append(json.loads(dt['data'])) 162 | fileOut = os.path.join( 163 | self.output, self.target_id) 164 | print('开始导出{0}的消息列表为Html/Markdown/Txt...'.format(self.target_id)) 165 | renderer.render(data, fileOut) 166 | print('已导出文件', fileOut+'.html|.md|.txt') 167 | 168 | def _fetch_followings(self): 169 | '''全量更新,获取全部好友数据''' 170 | page = 0 171 | while(not self.cancelled): 172 | users = self.api.get_friends(self.target_id, page=page) 173 | if not users: 174 | break 175 | count = len(users) 176 | print("正在保存第{0}-{1}条用户资料 ...".format( 177 | self.user_total, self.user_total+count)) 178 | self.db.bulk_insert_user(users) 179 | self.user_total += count 180 | page += 1 181 | time.sleep(1) 182 | if len(users) < DEFAULT_USER_COUNT: 183 | break 184 | 185 | def _download_photo(self, status): 186 | photo = status['photo'] 187 | status_id = status['id'] 188 | if photo: 189 | url = photo['largeurl'] 190 | img_dir = os.path.join( 191 | self.output, '{0}-photos'.format(self.target_id)) 192 | if not os.path.exists(img_dir): 193 | os.mkdir(img_dir) 194 | img_name = '{0}.{1}'.format(status_id, url[-3:] or 'jpg') 195 | filename = os.path.join(img_dir, img_name) 196 | if os.path.exists(filename): 197 | print('照片已存在 {0}'.format(img_name)) 198 | else: 199 | print('正在下载照片 {0}'.format(img_name)) 200 | utils.download_and_save(url, filename) 201 | 202 | def _fetch_photos_multi(self): 203 | rows = self.db.get_photo_status() 204 | if not rows: 205 | print('{0}的相册里没有照片'.format(self.target_id)) 206 | return 207 | photos = [] 208 | for row in rows: 209 | photos.append(json.loads(row['data'])) 210 | 211 | count = len(photos) 212 | print("正在下载第{0}-{1}张照片 ...".format( 213 | self.photo_total, self.photo_total+count)) 214 | pool = ThreadPool(8) 215 | try: 216 | pool.map(self._download_photo, photos) 217 | pool.close() 218 | pool.join() 219 | self.photo_total += count 220 | except KeyboardInterrupt: 221 | pool.terminate() 222 | 223 | def _fetch_photos(self): 224 | rows = self.db.get_photo_status() 225 | if not rows: 226 | print('{0}的相册里没有照片'.format(self.target_id)) 227 | return 228 | photos = [] 229 | for row in rows: 230 | photos.append(json.loads(row['data'])) 231 | count = len(photos) 232 | print("正在下载第{0}-{1}张照片 ...".format( 233 | self.photo_total, self.photo_total+count)) 234 | for photo in photos: 235 | if self.cancelled: 236 | break 237 | self._download_photo(photo) 238 | self.photo_total += count 239 | 240 | def _fetch_photos_old(self): 241 | photos = self.db.get_photo_status() 242 | print('photos', len(photos)) 243 | tail_status = None 244 | while(not self.cancelled): 245 | max_id = tail_status['id'] if tail_status else None 246 | timeline = self.api.get_user_photos( 247 | self.target_id, count=DEFAULT_COUNT, max_id=max_id) 248 | if not timeline: 249 | break 250 | tail_status = timeline[-1] 251 | count = len(timeline) 252 | print("正在下载第{0}-{1}张照片 ...".format( 253 | self.photo_total, self.photo_total+count)) 254 | for status in timeline: 255 | if self.cancelled: 256 | break 257 | self._download_photo(status) 258 | self.photo_total += count 259 | if len(timeline) < DEFAULT_COUNT: 260 | break 261 | 262 | def _fetch_newer_statuses(self): 263 | '''增量更新,获取比某一条新的数据(新发布的)''' 264 | head_status = self.db.get_latest_status() 265 | if not head_status: 266 | return 267 | while(not self.cancelled): 268 | head_status = self.db.get_latest_status() 269 | since_id = head_status['sid'] if head_status else None 270 | error = None 271 | retry = 0 272 | while retry < 3: 273 | try: 274 | timeline = self.api.get_user_timeline( 275 | self.target_id, count=DEFAULT_COUNT, 276 | since_id=since_id) 277 | break 278 | except ConnectionError as e: 279 | error = e 280 | print(e) 281 | timeline = None 282 | print('网络连接超时,即将尝试第{0}重试...'.format(retry+1)) 283 | time.sleep(retry*5) 284 | retry += 1 285 | if error: 286 | raise error 287 | if not timeline: 288 | break 289 | count = len(timeline) 290 | print("正在保存第{0}-{1}条消息,共{2}条 ...".format( 291 | self.total, self.total+count, 292 | self.target_user['statuses_count'])) 293 | self.db.bulk_insert_status(timeline) 294 | self.total += count 295 | time.sleep(1) 296 | if len(timeline) < DEFAULT_COUNT: 297 | break 298 | 299 | def _fetch_older_statuses(self): 300 | '''增量更新,获取比某一条旧的数据''' 301 | while not self.cancelled: 302 | tail_status = self.db.get_oldest_status() 303 | max_id = tail_status['sid'] if tail_status else None 304 | error = None 305 | retry = 0 306 | while retry < 3: 307 | try: 308 | timeline = self.api.get_user_timeline( 309 | self.target_id, count=DEFAULT_COUNT, max_id=max_id) 310 | break 311 | except ConnectionError as e: 312 | error = e 313 | print(e) 314 | timeline = None 315 | print('网络连接超时,即将尝试第{0}重试...'.format(retry+1)) 316 | time.sleep(retry*5) 317 | retry += 1 318 | if error: 319 | raise error 320 | if not timeline: 321 | break 322 | count = len(timeline) 323 | print("正在保存第{0}-{1}条消息,共{2}条 ...".format( 324 | self.total, self.total+count, 325 | self.target_user['statuses_count'])) 326 | self.db.bulk_insert_status(timeline) 327 | self.total += count 328 | time.sleep(1) 329 | if len(timeline) < DEFAULT_COUNT: 330 | break 331 | 332 | 333 | def parse_args(): 334 | ''' 335 | 解析命令行参数 336 | ''' 337 | parser = argparse.ArgumentParser( 338 | formatter_class=argparse.RawDescriptionHelpFormatter, 339 | description='饭否数据备份工具 v{0}'.format(__version__), 340 | epilog='''项目主页 https://github.com/mcxiaoke/pyfanfou 341 | ''') 342 | parser.add_argument('-u', '--username', 343 | help='你的饭否帐号') 344 | parser.add_argument('-p', '--password', 345 | help='你的饭否密码') 346 | parser.add_argument('-t', '--target', 347 | help='要备份的用户ID,默认是登录帐号') 348 | parser.add_argument('-s', '--include-user', action='store_const', 349 | const=False, help='是否备份好友资料列表,默认否') 350 | parser.add_argument('-i', '--include-photo', action='store_const', 351 | const=True, help='是否备份全部相册照片,默认是') 352 | parser.add_argument('-o', '--output', 353 | help='备份数据存放目录,默认是当前目录下的output目录') 354 | # parser.add_argument('-v', '--view', action='store_false', 355 | # help='仅显示命令行参数值,不执行操作') 356 | args = parser.parse_args() 357 | if len(sys.argv) == 1: 358 | parser.print_help() 359 | sys.exit(1) 360 | return args 361 | 362 | if __name__ == '__main__': 363 | Backup(**vars(parse_args())).start() 364 | -------------------------------------------------------------------------------- /fanfou/backupcmd.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-12 09:03:09 5 | 6 | from .backup import Backup 7 | from .backup import parse_args 8 | 9 | 10 | def start(): 11 | Backup(**vars(parse_args())).start() 12 | 13 | if __name__ == '__main__': 14 | start() 15 | -------------------------------------------------------------------------------- /fanfou/backupui.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-11 20:01:02 5 | from __future__ import print_function 6 | import textwrap 7 | import sys 8 | import os 9 | import imp 10 | import threading 11 | from datetime import datetime 12 | import queue 13 | from tkinter import * 14 | from tkinter.ttk import * 15 | from tkinter.scrolledtext import ScrolledText 16 | from tkinter.filedialog import askdirectory 17 | from . import const 18 | from . import backup 19 | 20 | # http://pythonhosted.org/PyInstaller/ 21 | 22 | __version__ = const.APP_VERSION 23 | _stdout = sys.stdout 24 | isWin32 = (sys.platform[:3] == 'win') 25 | 26 | 27 | class GuiOutput: 28 | 29 | def __init__(self, output): 30 | self.stdout = sys.stdout 31 | self.output = output 32 | 33 | def write(self, text): 34 | # self.stdout.write(text) 35 | self.output.write(text) 36 | 37 | def writelines(self, lines): 38 | for line in lines: 39 | self.write(line) 40 | 41 | 42 | def redirectFunc(out, func, **kwargs): 43 | stdout = sys.stdout 44 | sys.stdout = GuiOutput(out) 45 | sys.stderr = sys.stdout 46 | result = func(**kwargs) 47 | sys.stdout = stdout 48 | return result 49 | 50 | 51 | class BackupUI(Frame): 52 | 53 | def __init__(self, parent=None, **options): 54 | Frame.__init__(self, parent) 55 | 56 | self.dataQueue = queue.Queue() 57 | self.thread = None 58 | self.outputPath = StringVar() 59 | self.userVar = IntVar() 60 | self.photoVar = IntVar() 61 | self.photoVar.set(1) 62 | 63 | self.top = Frame(self) 64 | self.top.pack(side=TOP, expand=YES, fill=X, padx=10, pady=10) 65 | self.top.config() 66 | self.createForm() 67 | self.createButtons() 68 | self.createText() 69 | 70 | def createButtons(self): 71 | 72 | frm = Frame(self.top) 73 | frm.pack(side=RIGHT, expand=YES, anchor=NE, padx=10, pady=10) 74 | self.btnStart = Button(frm, text='开始备份', command=self.start) 75 | self.btnStart.pack(side=TOP) 76 | self.btnStop = Button(frm, text='停止备份', command=self.stop) 77 | self.btnStop.pack(side=TOP) 78 | self.btnStop.config(state=DISABLED) 79 | 80 | frm = Frame(self.top) 81 | frm.pack(side=RIGHT, expand=YES, anchor=NE, padx=10, pady=10) 82 | self.userCheck = Checkbutton(frm, text='备份好友资料', variable=self.userVar) 83 | self.userCheck.config(command=self.callback) 84 | self.userCheck.pack(side=TOP) 85 | self.photoCheck = Checkbutton( 86 | frm, text='备份相册照片', variable=self.photoVar) 87 | self.photoCheck.config(command=self.callback) 88 | self.photoCheck.pack(side=TOP) 89 | 90 | frm = Frame(self) 91 | frm.pack(side=TOP, anchor=W, padx=10, pady=10) 92 | self.btnSelect = Button(frm, text='选择保存路径', command=self.selectPath) 93 | self.btnSelect.pack(side=LEFT) 94 | self.savePath = Entry(frm, width=45, textvariable=self.outputPath) 95 | self.savePath.pack(side=LEFT) 96 | self.savePath.insert(END, os.path.abspath(os.path.join('.', 'output'))) 97 | 98 | def createForm(self): 99 | self.login = Frame(self.top) 100 | # self.login.config(padx=4, pady=4) 101 | self.login.pack(side=LEFT, anchor=W) 102 | fields = const.LOGIN_FIELDS 103 | 104 | self.inputs = [] 105 | for i in range(len(fields)): 106 | lbl = Label(self.login, text=fields[i]) 107 | lbl.grid(row=i, column=0) 108 | var = StringVar() 109 | self.inputs.append(var) 110 | ent = Entry(self.login, textvariable=var) 111 | ent.grid(row=i, column=1) 112 | self.login.rowconfigure(i, weight=1) 113 | self.login.columnconfigure(0, weight=1) 114 | self.login.columnconfigure(1, weight=1) 115 | 116 | def createText(self): 117 | winfont = ('simhei', 10, 'normal') 118 | font = ('Helvetica', 12, 'normal') 119 | 120 | self.content = Frame(self) 121 | self.content.pack(side=LEFT, expand=YES, fill=BOTH, padx=10, pady=10) 122 | self.text = ScrolledText(self.content) 123 | self.text.pack(side=TOP, expand=YES, fill=BOTH) 124 | self.text.config(bg='light gray', fg='black') 125 | self.text.config(font=winfont if isWin32 else font) 126 | self.text.insert(END, const.USER_GUIDE) 127 | self.text.config(state=DISABLED) 128 | 129 | def selectPath(self): 130 | path = askdirectory(initialdir='.') 131 | if path: 132 | self.savePath.delete(0, END) 133 | self.savePath.insert(END, path) 134 | 135 | def callback(self): 136 | #print('callback', self.userVar.get(), self.photoVar.get()) 137 | pass 138 | 139 | def write(self, message): 140 | if message and message.strip(): 141 | # timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') 142 | timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S') 143 | self.dataQueue.put(timestamp + " - " + message + '\n') 144 | 145 | def updateText(self, message): 146 | self.text.config(state=NORMAL) 147 | self.text.insert(END, str(message)) 148 | self.text.config(state=DISABLED) 149 | self.text.see(END) 150 | self.text.update() 151 | 152 | def updateUI(self): 153 | try: 154 | message = self.dataQueue.get(block=False) 155 | if message: 156 | self.updateText(message) 157 | except queue.Empty: 158 | pass 159 | running = self.thread and self.thread.is_alive() 160 | self.btnStart.config(state=DISABLED if running else NORMAL) 161 | self.btnStop.config(state=NORMAL if running else DISABLED) 162 | self.after(100, self.updateUI) 163 | 164 | def stop(self): 165 | if getattr(self, 'thread'): 166 | self.thread.stop() 167 | 168 | def start(self): 169 | keys = ['username', 'password', 'target'] 170 | values = map(lambda x: x.get(), self.inputs) 171 | if not any(values): 172 | messagebox.showerror(const.NO_INPUT_TITLE, const.NO_INPUT_MESSAGE) 173 | return 174 | options = dict(zip(keys, values)) 175 | options['output'] = self.savePath.get() 176 | options['include_user'] = self.userVar.get() 177 | options['include_photo'] = self.photoVar.get() 178 | print('启动参数:', options) 179 | self.text.config(state=NORMAL) 180 | self.text.delete('0.0', END) 181 | self.text.config(state=DISABLED) 182 | self.updateUI() 183 | self.thread = BackupThread(self, self.dataQueue, **options) 184 | self.thread.start() 185 | 186 | 187 | class BackupThread(threading.Thread): 188 | 189 | def __init__(self, callback, dataQueue, **options): 190 | super(BackupThread, self).__init__(name='BackupThread') 191 | imp.reload(backup) 192 | self.callback = callback 193 | self.dataQueue = dataQueue 194 | self.backup = backup.Backup(**options) 195 | 196 | def write(self, message): 197 | if message and message.strip(): 198 | # timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') 199 | timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S') 200 | self.dataQueue.put(timestamp + " - " + message + '\n') 201 | 202 | def stop(self): 203 | if getattr(self, 'backup'): 204 | self.backup.stop() 205 | else: 206 | print('备份还没有开始') 207 | 208 | def run(self): 209 | redirectFunc(self, self.backup.start) 210 | 211 | 212 | def center(root): 213 | # https://bbs.archlinux.org/viewtopic.php?id=149559 214 | # Apparently a common hack to get the window size. Temporarily hide the 215 | # window to avoid update_idletasks() drawing the window in the wrong 216 | # position. 217 | root.withdraw() 218 | root.update_idletasks() # Update "requested size" from geometry manager 219 | 220 | x = (root.winfo_screenwidth() - root.winfo_reqwidth()) / 2 221 | y = (root.winfo_screenheight() - root.winfo_reqheight()) / 2 222 | root.geometry("+%d+%d" % (x, y - 50)) 223 | 224 | # This seems to draw the window frame immediately, so only call deiconify() 225 | # after setting correct window position 226 | root.deiconify() 227 | 228 | 229 | def start(): 230 | root = Tk() 231 | root.title('{0} v{1}'.format(const.APP_NAME, __version__)) 232 | root.iconname(const.APP_NAME) 233 | root.resizable(FALSE, FALSE) 234 | ui = BackupUI(root) 235 | ui.pack() 236 | root.protocol('WM_DELETE_WINDOW', lambda: print( 237 | '程序关闭') or ui.stop() or root.quit()) 238 | center(root) 239 | root.mainloop() 240 | 241 | 242 | if __name__ == '__main__': 243 | start() 244 | -------------------------------------------------------------------------------- /fanfou/basedb.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-07 07:36:01 5 | import sqlite3 6 | 7 | 8 | class BaseDB(object): 9 | 10 | def __init__(self, db_name): 11 | self.name = db_name 12 | self.conn = sqlite3.connect(db_name) 13 | self.conn.row_factory = sqlite3.Row 14 | 15 | def close(self): 16 | self.conn.close() 17 | 18 | def fetch_all(self, table_name): 19 | return self.conn.execute( 20 | 'select * from %s;' % table_name).fetchall() 21 | 22 | def get_count(self, table_name): 23 | return self.conn.execute( 24 | 'select count() from %s;' % table_name).fetchone()[0] 25 | 26 | def execute(self, operation): 27 | c = self.conn.cursor() 28 | c.execute(operation) 29 | self.conn.commit() 30 | return c 31 | -------------------------------------------------------------------------------- /fanfou/config.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-04 22:51:38 5 | 6 | CONSUMER_KEY = "c403d5a51bde9cce58fe31f4cec06b0a" 7 | CONSUMER_SECRET = "5da0bcda353f7d2fe8e3de01e3c97741" 8 | TOKEN_URL = "http://fanfou.com/oauth/access_token" 9 | USERNAME = "test" 10 | PASSWORD = "test" 11 | 12 | API_HOST="http://api.fanfou.com" 13 | VERIFY="/account/verify_credentials.xml" 14 | -------------------------------------------------------------------------------- /fanfou/const.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-11 21:02:43 5 | APP_NAME = '饭否数据备份工具' 6 | APP_VERSION = '1.0.2' 7 | 8 | AUTH_DESCRIPTION = u''' 9 | 说明:备份公开用户的数据不需要帐号和密码,此时请指定目标用户的ID。备份私密用户的数据需要有权限,如果是你自己的数据,需要登录,如果是别人的数据,需要是你关注的人,否则无法读取消息数据。 10 | ''' 11 | 12 | NO_INPUT_TITLE = '错误提示' 13 | NO_INPUT_MESSAGE = '请输入帐号密码或目标用户ID,至少输入一项!' 14 | 15 | LOGIN_FIELDS = ['饭否帐号:', '饭否密码:', '目标用户:'] 16 | LOGIN_COMMENTS = ['*备份私密帐号数据必填', '*备份私密帐号数据必填', '*要备份的用户ID(可选)'] 17 | 18 | USER_GUIDE = ''' 19 | ================================================ 20 | 21 | 饭否数据备份工具 by mcxiaoke 22 | 23 | 使用说明: 24 | 1. 备份公开用户的数据不需要帐号和密码,此时请指定目标用户的ID。 25 | 2. 备份私密用户的数据需要有权限,如果是你自己的数据,需要登录。 26 | 3. 如果要备份别人的数据,需要是你关注的人,否则无法读取数据。 27 | 28 | 简单地说,你在网页上能看到的消息和照片,就是可以备份的。 29 | 30 | (备份中途可随时停止,本工具会自动增量备份,不会重复下载) 31 | 32 | 备份输出的数据格式为SQLite数据库文件,HTML格式+TXT格式+Markdown格式 33 | 34 | ======== 饭否数据备份工具 v1.0.2 ======== 35 | 36 | 命令行使用: 37 | fanfoubackup.py [-h] [-u USERNAME] [-p PASSWORD] [-t TARGET] [-s] [-i] 38 | [-o OUTPUT] 39 | 40 | -h, --help 显示帮助信息 41 | -u USERNAME, --username USERNAME 你的饭否帐号 42 | -p PASSWORD, --password PASSWORD 你的饭否密码 43 | -t TARGET, --target TARGET 要备份的用户ID,默认是登录帐号 44 | -s , --include-user 是否备份好友资料列表,默认否 45 | -i , --include-photo 是否备份全部相册照片,默认是 46 | -o OUTPUT, --output OUTPUT 备份数据存放目录,默认是当前目录下的output目录 47 | 48 | 项目地址: 49 | https://github.com/mcxiaoke/pyfanfou 50 | 51 | ================================================ 52 | ''' 53 | -------------------------------------------------------------------------------- /fanfou/db.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-05 20:07:34 5 | 6 | from . import utils 7 | from . import basedb 8 | 9 | KV_TABLE = "kv" 10 | LOG_TABLE = "log" 11 | USER_TABLE = "user" 12 | STATUS_TABLE = "status" 13 | 14 | KV_TABLE_CREATE_SQL = ( 15 | 'CREATE TABLE IF NOT EXISTS kv ' 16 | ' ( _id INTEGER PRIMARY KEY, ' 17 | ' key TEXT, ' 18 | ' value TEXT, ' 19 | ' comment TEXT, ' 20 | ' added_at TEXT' 21 | ' UNIQUE (key) ); ' 22 | ) 23 | 24 | LOG_TABLE_CREATE_SQL = ( 25 | 'CREATE TABLE IF NOT EXISTS log ' 26 | ' ( _id INTEGER PRIMARY KEY, ' 27 | ' tag TEXT, ' 28 | ' action TEXT, ' 29 | ' message TEXT, ' 30 | ' comment TEXT, ' 31 | ' added_at TEXT' 32 | ' UNIQUE (_id) ); ' 33 | ) 34 | 35 | USER_TABLE_CREATE_SQL = ( 36 | 'CREATE TABLE IF NOT EXISTS user ' 37 | ' ( _id INTEGER PRIMARY KEY, ' 38 | ' id TEXT, ' 39 | ' screen_name TEXT, ' 40 | ' followers_count INTEGER, ' 41 | ' followings_count INTEGER, ' 42 | ' statuses_count INTEGER, ' 43 | ' created_at TEXT, ' 44 | ' added_at TEXT, ' 45 | ' data TEXT, ' 46 | ' UNIQUE (id) ); ' 47 | ) 48 | 49 | STATUS_TABLE_CREATE_SQL = ( 50 | 'CREATE TABLE IF NOT EXISTS status ' 51 | ' ( _id INTEGER PRIMARY KEY, ' 52 | ' id INTEGER, ' 53 | ' sid TEXT, ' 54 | ' uid TEXT,' 55 | ' text TEXT, ' 56 | ' photo INTEGER, ' 57 | ' created_at TEXT, ' 58 | ' added_at TEXT, ' 59 | ' data TEXT, ' 60 | ' UNIQUE (id) ); ' 61 | ) 62 | 63 | 64 | class DB(basedb.BaseDB): 65 | 66 | def __init__(self, db_name): 67 | super(DB, self).__init__(db_name) 68 | self._create_tables() 69 | 70 | def _create_tables(self): 71 | conn = self.conn 72 | conn.execute(USER_TABLE_CREATE_SQL) 73 | conn.execute(STATUS_TABLE_CREATE_SQL) 74 | conn.commit() 75 | 76 | def get_user_count(self): 77 | return self.get_count('user') 78 | 79 | def get_status_count(self): 80 | return self.get_count('status') 81 | 82 | def get_all_user_ids(self): 83 | rows = self.execute('select id from user').fetchall() 84 | ids = [row['id'] for row in rows] 85 | return ids 86 | 87 | def get_all_status_ids(self): 88 | rows = self.execute('select id from status').fetchall() 89 | ids = [row['id'] for row in rows] 90 | return ids 91 | 92 | def get_all_users(self): 93 | return self.fetch_all('user') 94 | 95 | def get_all_status(self): 96 | return self.fetch_all('status') 97 | 98 | def get_photo_status(self): 99 | return self.execute( 100 | 'select * from status where photo = "1";').fetchall() 101 | 102 | # oldest user order by creation time 103 | def get_oldest_user(self): 104 | c = self.execute("select id,screen_name,created_at from user " 105 | "order by created_at ASC limit 1;") 106 | return c.fetchone() 107 | 108 | # oldest status order by creation time 109 | def get_oldest_status(self): 110 | c = self.execute("select id,sid,created_at from status " 111 | "order by created_at ASC limit 1;") 112 | return c.fetchone() 113 | 114 | # latest user order by creation time 115 | def get_latest_user(self): 116 | c = self.execute("select id,screen_name,created_at from user " 117 | "order by created_at DESC limit 1;") 118 | return c.fetchone() 119 | 120 | # latest status order by creation time 121 | def get_latest_status(self): 122 | c = self.execute("select id,sid,created_at from status " + 123 | "order by created_at DESC limit 1;") 124 | return c.fetchone() 125 | 126 | def insert_user(self, user): 127 | values = utils.convert_user(user) 128 | c = self.conn.cursor() 129 | c.execute(("INSERT OR REPLACE INTO user " 130 | " (id,screen_name,followers_count,followings_count," 131 | "statuses_count,created_at,added_at,data) " 132 | " VALUES (?,?,?,?,?,?,?,?) "), *values) 133 | print("insert_user: %d rows inserted to database" % c.rowcount) 134 | self.conn.commit() 135 | return c 136 | 137 | def bulk_insert_user(self, user_list): 138 | values = [utils.convert_user(user) for user in user_list] 139 | c = self.conn.cursor() 140 | c.executemany(("INSERT OR REPLACE INTO user " 141 | " (id,screen_name,followers_count,followings_count," 142 | "statuses_count,created_at,added_at,data) " 143 | " VALUES (?,?,?,?,?,?,?,?) "), values) 144 | print("%d 条用户资料已存储到数据库" % c.rowcount) 145 | self.conn.commit() 146 | return c 147 | 148 | def insert_status(self, status): 149 | values = utils.convert_status(status) 150 | c = self.conn.cursor() 151 | c.execute(("INSERT OR REPLACE INTO status " 152 | " (id,sid,uid,text,photo, created_at,added_at,data) " 153 | " VALUES (?,?,?,?,?,?,?,?) "), *values) 154 | self.conn.commit() 155 | print("insert_status: %d rows inserted to database" % c.rowcount) 156 | return c 157 | 158 | def bulk_insert_status(self, status_list): 159 | values = [utils.convert_status(status) for status in status_list] 160 | c = self.conn.cursor() 161 | c.executemany(("INSERT OR REPLACE INTO status " 162 | " (id,sid,uid,text,photo, created_at,added_at,data) " 163 | " VALUES (?,?,?,?,?,?,?,?) "), values) 164 | self.conn.commit() 165 | print("%d 条消息已存储到数据库" % c.rowcount) 166 | return c 167 | 168 | def print_status(self): 169 | # print 'users count:', self.get_user_count() 170 | # print 'oldest user:', self.get_oldest_user() 171 | # print 'latest user:', self.get_latest_user() 172 | print("====== database statictics start ======") 173 | print('status count:', self.get_status_count()) 174 | print('oldest status:', self.get_oldest_status()) 175 | print('latest status:', self.get_latest_status()) 176 | print("====== database statictics end ======") 177 | 178 | 179 | if __name__ == '__main__': 180 | import sys 181 | db = DB(sys.argv[1]) 182 | db.print_status() 183 | db.close() 184 | -------------------------------------------------------------------------------- /fanfou/renderer.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-12 23:02:46 5 | 6 | from __future__ import print_function 7 | import json 8 | import time 9 | import shutil 10 | import os 11 | import sys 12 | import io 13 | from string import Template 14 | from . import template 15 | from . import utils 16 | 17 | 18 | def _render_status_html(it, out, outDir): 19 | id = it['id'] 20 | name = it['user']['screen_name'] 21 | uid = it['user']['id'] 22 | raw_time = it['created_at'] 23 | time = utils.get_only_fanfou_date(raw_time).decode('utf8') 24 | text = it['text'] 25 | if it.get('photo'): 26 | imgfile = os.path.join('{0}-photos'.format(uid), '{0}.jpg'.format(id)) 27 | imgpath = os.path.join(outDir, imgfile) 28 | photo = imgfile if os.path.exists(imgpath) else it['photo']['url'] 29 | else: 30 | photo = '' 31 | tpl = Template(template.STATUS_TEMPLATE) 32 | status = tpl.substitute(id=id, name=name, uid=uid, 33 | raw_time=raw_time, time=time, 34 | text=text, photo_url=photo, 35 | photo_link=u'照片' if photo else '') 36 | out.write(status.encode('utf8')) 37 | 38 | 39 | def _render_html(data, outDir): 40 | first = data[0] 41 | user = first['user'] 42 | title = u'{0}的消息'.format(user['screen_name']) 43 | out = io.StringIO() 44 | out.write(Template(template.HEAD).substitute(title=title).encode('utf8')) 45 | out.write(Template(template.BODY_HEADER).substitute( 46 | title=title).encode('utf8')) 47 | out.write(u'
') 48 | for it in data: 49 | #print('render status ',it['id']) 50 | _render_status_html(it, out, outDir) 51 | 52 | out.write(u'
') 53 | out.write(template.BODY_FOOTER) 54 | return out.getvalue() 55 | 56 | 57 | def _render_status_makrdown(it, out): 58 | id = it['id'] 59 | name = it['user']['screen_name'] 60 | uid = it['user']['id'] 61 | raw_time = it['created_at'] 62 | time = utils.normalize_fanfou_date(raw_time).decode('utf8') 63 | text = it['text'] 64 | photo = u' [图片] ' if it.get('photo') else u'' 65 | tpl = Template(template.MARKDOWN_STATUS) 66 | status = tpl.substitute(id=id, name=name, uid=uid, 67 | time=time, text=text, photo=photo) 68 | out.write(status.encode('utf8')) 69 | 70 | 71 | def _render_markdown(data): 72 | first = data[0] 73 | user = first['user'] 74 | title = u'{0}的消息'.format(user['screen_name']) 75 | out = io.StringIO() 76 | out.write(Template(template.MARKDOWN_HEADER).substitute( 77 | title=title).encode('utf8')) 78 | for it in data: 79 | _render_status_makrdown(it, out) 80 | 81 | out.write(template.MARKDOWN_FOOTER) 82 | return out.getvalue() 83 | 84 | 85 | def _render_status_text(it, out): 86 | id = it['id'] 87 | name = it['user']['screen_name'] 88 | uid = it['user']['id'] 89 | raw_time = it['created_at'] 90 | time = utils.get_only_fanfou_date(raw_time).decode('utf8') 91 | text = it['text'] 92 | tpl = Template(template.TEXT_STATUS) 93 | status = tpl.substitute(id=id, name=name, uid=uid, time=time, text=text) 94 | out.write(status.encode('utf8')) 95 | 96 | 97 | def _render_text(data): 98 | first = data[0] 99 | user = first['user'] 100 | title = u'{0}的消息'.format(user['screen_name']) 101 | out = io.StringIO() 102 | out.write(Template(template.TEXT_HEADER).substitute( 103 | title=title).encode('utf8')) 104 | for it in data: 105 | _render_status_text(it, out) 106 | 107 | out.write(template.TEXT_FOOTER) 108 | return out.getvalue() 109 | 110 | 111 | def render(data, fileOut): 112 | output = os.path.dirname(fileOut) 113 | # inData = json.load(open(fileIn, 'r')) 114 | html = _render_html(data, output) 115 | markdown = _render_markdown(data) 116 | text = _render_text(data) 117 | # http://stackoverflow.com/questions/6048085/python-write-unicode-text-to-a-text-file 118 | # save html 119 | tempfile = os.path.join(unicode(time.time())) 120 | with open(tempfile, 'w') as out: 121 | out.write(html) 122 | shutil.move(tempfile, fileOut+'.html') 123 | # save markdown 124 | tempfile = os.path.join(unicode(time.time())) 125 | with open(tempfile, 'w') as out: 126 | out.write(markdown) 127 | shutil.move(tempfile, fileOut+'.md') 128 | # save text 129 | tempfile = os.path.join(unicode(time.time())) 130 | with open(tempfile, 'w') as out: 131 | out.write(text) 132 | shutil.move(tempfile, fileOut+'.txt') 133 | 134 | 135 | if __name__ == '__main__': 136 | # json.load(open('data/timeline.json','r')) 137 | render(json.load(open('../data/timeline.json', 'r')), 138 | '../data/timeline') 139 | -------------------------------------------------------------------------------- /fanfou/template.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-13 11:20:23 5 | 6 | HEAD = u''' 7 | 8 | 9 | $title 10 | 11 | 12 | 103 | 104 | ''' 105 | 106 | BODY_HEADER = u''' 107 | 108 |

$title

109 | ''' 110 | BODY_FOOTER = u''' 111 | 116 | 117 | 118 | ''' 119 | 120 | STATUS_TEMPLATE = u''' 121 |
122 |
123 |
124 | $name 125 | (@$uid) 126 | $time 128 |
129 | $text 130 | $photo_link 131 |
132 |
133 | ''' 134 | 135 | MARKDOWN_HEADER = u''' 136 | ## $title 137 | 138 | ''' 139 | 140 | MARKDOWN_FOOTER = u''' 141 | 142 | Generated by [**pyfanfou**](https://github.com/mcxiaoke/pyfanfou) 143 | 144 | ''' 145 | 146 | MARKDOWN_STATUS = u''' 147 | - $text $photo (*$time*) [>](http://fanfou.com/statuses/$id) 148 | 149 | ''' 150 | 151 | TEXT_HEADER = u'''$title 152 | 153 | ''' 154 | 155 | TEXT_FOOTER = u''' 156 | 157 | Generated by https://github.com/mcxiaoke/pyfanfou 158 | ''' 159 | 160 | TEXT_STATUS = u''' 161 | $text ($time $id) 162 | ''' 163 | -------------------------------------------------------------------------------- /fanfou/utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-05 22:18:00 5 | from __future__ import print_function 6 | from datetime import datetime 7 | import time 8 | import pickle as store 9 | import json 10 | import requests 11 | 12 | ISO_DATE_FORMAT = "%Y-%m-%d %H:%M:%S" 13 | ONLY_DATE_FORMAT = "%Y-%m-%d" 14 | FANFOU_DATE_FORMAT = "%a %b %d %H:%M:%S +0000 %Y" 15 | 16 | 17 | def save_account_info(username, token): 18 | if username and token: 19 | file_name = 'account_%s.dat' % username 20 | f = open(file_name.replace("@", "_"), 'wb') 21 | with f: 22 | store.dump(token, f) 23 | 24 | 25 | def load_account_info(username): 26 | file_name = 'account_%s.dat' % username 27 | try: 28 | f = open(file_name.replace("@", "_"), 'rb') 29 | with f: 30 | return store.load(f) 31 | except IOError: 32 | pass 33 | 34 | 35 | def convert_user(user): 36 | id = user["id"] 37 | screen_name = user["screen_name"] 38 | created_at = normalize_fanfou_date(user["created_at"]) 39 | added_at = get_now_datetime_str() 40 | followers_count = user['followers_count'] 41 | followings_count = user['friends_count'] 42 | statuses_count = user['statuses_count'] 43 | data = json.dumps(user) 44 | return (id, screen_name, followers_count, followings_count, 45 | statuses_count, created_at, added_at, data) 46 | 47 | 48 | def convert_status(status): 49 | id = status["rawid"] 50 | sid = status['id'] 51 | user = status['user'] 52 | uid = user['id'] 53 | text = status['text'] 54 | photo = 1 if status.get('photo') else 0 55 | created_at = normalize_fanfou_date(status["created_at"]) 56 | added_at = get_now_datetime_str() 57 | data = json.dumps(status) 58 | return (id, sid, uid, text, photo, created_at, added_at, data) 59 | 60 | 61 | def parse_fanfou_date(date_str): 62 | return datetime.strptime(date_str, FANFOU_DATE_FORMAT) 63 | 64 | 65 | def normalize_fanfou_date(date_str): 66 | return normalize_datetime(parse_fanfou_date(date_str)) 67 | 68 | def get_only_fanfou_date(date_str): 69 | return normalize_only_date(parse_fanfou_date(date_str)) 70 | 71 | def parse_normalize_date(date_str): 72 | return datetime.strptime(date_str, ISO_DATE_FORMAT) 73 | 74 | 75 | def normalize_datetime(dt): 76 | return dt.strftime(ISO_DATE_FORMAT) 77 | 78 | def normalize_only_date(dt): 79 | return dt.strftime(ONLY_DATE_FORMAT) 80 | 81 | def normalize_timestamp(ts): 82 | return normalize_datetime(datetime.fromtimestamp(ts)) 83 | 84 | 85 | def get_now_datetime_str(): 86 | return normalize_datetime(datetime.now()) 87 | 88 | 89 | def pretty_fanfou_date(date_str): 90 | dt = parse_fanfou_date(date_str) 91 | return pretty_date(dt) 92 | 93 | def pretty_date(time=None): 94 | """ 95 | Get a datetime object or a int() Epoch timestamp and return a 96 | pretty string like 'an hour ago', 'Yesterday', '3 months ago', 97 | 'just now', etc 98 | """ 99 | now = datetime.now() 100 | if type(time) is int: 101 | diff = now - datetime.fromtimestamp(time) 102 | elif isinstance(time, datetime): 103 | diff = now - time 104 | elif not time: 105 | diff = now - now 106 | second_diff = diff.seconds 107 | day_diff = diff.days 108 | 109 | if day_diff < 0: 110 | return '' 111 | 112 | if day_diff == 0: 113 | if second_diff < 10: 114 | return "刚刚" 115 | if second_diff < 60: 116 | return str(second_diff) + " 秒前" 117 | if second_diff < 120: 118 | return "1一分钟前" 119 | if second_diff < 3600: 120 | return str(second_diff / 60) + " 分钟前" 121 | if second_diff < 7200: 122 | return "1小时前" 123 | if second_diff < 86400: 124 | return str(second_diff / 3600) + " 小时前" 125 | if day_diff == 1: 126 | return "昨天" 127 | if day_diff < 7: 128 | return str(day_diff) + " 天前" 129 | if day_diff < 31: 130 | return str(day_diff / 7) + " 周前" 131 | if day_diff < 365: 132 | return str(day_diff / 30) + " 个月前" 133 | return str(day_diff / 365) + " 年前" 134 | 135 | 136 | def download_and_save(url, filename): 137 | r = requests.get(url) 138 | with open(filename, 'wb') as f: 139 | for chunk in r.iter_content(chunk_size=512): 140 | f.write(chunk) 141 | 142 | 143 | if __name__ == '__main__': 144 | date_str = "Sat May 12 14:24:26 +0000 2007" 145 | fd1 = parse_fanfou_date(date_str) 146 | fd2 = normalize_fanfou_date(date_str) 147 | nd1 = normalize_timestamp(time.time()) 148 | nd2 = normalize_datetime(datetime.now()) 149 | dt1 = parse_normalize_date(fd2) 150 | dt2 = parse_normalize_date(nd2) 151 | print(fd1) 152 | print(fd2) 153 | print(dt1) 154 | print(nd1) 155 | print(nd2) 156 | print(dt2) 157 | print(normalize_datetime(datetime.now())) 158 | print(pretty_date(fd1)) 159 | -------------------------------------------------------------------------------- /fanfou/xauth.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | import oauth2 3 | import urllib 4 | from urllib.parse import urlparse 5 | import logging 6 | 7 | logging.basicConfig(level=logging.WARNING) 8 | 9 | logger = logging.getLogger(__name__) 10 | 11 | 12 | class AuthError(Exception): 13 | 14 | def __init__(self, code, message): 15 | super(AuthError, self).__init__(code, message) 16 | 17 | 18 | class AuthClient(object): 19 | 20 | ''' 21 | XAuth Client 22 | ''' 23 | 24 | def __init__(self, consumer_key, consumer_secret, token_url): 25 | self.consumer_key = consumer_key 26 | self.consumer_secret = consumer_secret 27 | self.token_url = token_url 28 | self.consumer = oauth2.Consumer(consumer_key, consumer_secret) 29 | 30 | def get(self, url): 31 | pass 32 | 33 | def get_access_token(self, username, password): 34 | client = oauth2.Client(self.consumer) 35 | client.add_credentials(username, password) 36 | client.set_signature_method = oauth2.SignatureMethod_HMAC_SHA1() 37 | resp, body = client.request( 38 | self.token_url, method='POST', body=urllib.urlencode({ 39 | 'x_auth_mode': 'client_auth', 40 | 'x_auth_username': username, 41 | 'x_auth_password': password, 42 | })) 43 | if resp['status'] != '200': 44 | logger.error('登录失败,服务端返回数据:%s' % body) 45 | raise AuthError(resp['status'], '用户名或密码不正确') 46 | self.token = dict(urlparse.parse_qsl(body)) 47 | return self.token 48 | 49 | 50 | def test_get_access_token(): 51 | consumer_key = "e5dd03165aebdba16611e1f4849ce2c3" 52 | consumer_secret = "2a14fcbdebfb936a769840b4d5a9263b" 53 | token_url = "http://fanfou.com/oauth/access_token" 54 | client = AuthClient(consumer_key, consumer_secret, token_url) 55 | access_token = client.get_access_token("test", "test") 56 | print(access_token) 57 | 58 | if __name__ == '__main__': 59 | test_get_access_token() 60 | -------------------------------------------------------------------------------- /icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/icon.ico -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/icon.png -------------------------------------------------------------------------------- /images/backupui1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/images/backupui1.png -------------------------------------------------------------------------------- /images/backupui2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/images/backupui2.png -------------------------------------------------------------------------------- /images/win1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/images/win1.png -------------------------------------------------------------------------------- /images/win2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcxiaoke/pyfanfou/2e5950b3600a2ccd9d0665665cce575872dd5a1b/images/win2.png -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-07 23:13:33 5 | ''' 6 | Run fanfou statuses backup. 7 | ''' 8 | import sys 9 | from fanfou import backupcmd 10 | from fanfou import backupui 11 | 12 | if __name__ == '__main__': 13 | if len(sys.argv) == 2 and sys.argv[1] == '-gui': 14 | backupui.start() 15 | else: 16 | backupcmd.start() 17 | -------------------------------------------------------------------------------- /pyfanfou.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # @Author: mcxiaoke 4 | # @Date: 2015-08-18 22:51:26 5 | 6 | from fanfou import backupui 7 | 8 | if __name__ == '__main__': 9 | backupui.start() 10 | -------------------------------------------------------------------------------- /pyfanfou.spec: -------------------------------------------------------------------------------- 1 | # -*- mode: python -*- 2 | a = Analysis(['pyfanfou.py'], 3 | pathex=['D:\\mcxiaoke\\pyfanfou'], 4 | hiddenimports=[], 5 | hookspath=None, 6 | runtime_hooks=None) 7 | pyz = PYZ(a.pure) 8 | exe = EXE(pyz, 9 | a.scripts, 10 | exclude_binaries=True, 11 | name='pyfanfou.exe', 12 | debug=False, 13 | strip=None, 14 | upx=True, 15 | console=False ) 16 | coll = COLLECT(exe, 17 | a.binaries, 18 | a.zipfiles, 19 | a.datas, 20 | strip=None, 21 | upx=True, 22 | name='pyfanfou') 23 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | oauth2 2 | requests 3 | requests-oauthlib 4 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | description-file = README.md 3 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from setuptools import setup, find_packages 4 | from fanfou import const 5 | 6 | readme_file = open("README.md", "rt").read() 7 | 8 | setup( 9 | name="pyfanfou", 10 | version=const.APP_VERSION, 11 | author="Xiaoke Zhang", 12 | author_email="mail@mcxiaoke.com", 13 | packages=find_packages(), 14 | entry_points={ 15 | 'console_scripts': [ 16 | 'fanfoubackup=fanfou.backupcmd:start', 17 | ], 18 | 'gui_scripts': [ 19 | 'fanfoubackupui = fanfou.backupui:start', 20 | ] 21 | }, 22 | url="https://github.com/mcxiaoke/pyfanfou", 23 | license="Apache License 2.0", 24 | keywords="fanfou.com, fanfou, backup, Tkinter", 25 | description=const.APP_NAME, 26 | long_description=readme_file, 27 | classifiers=( 28 | "Development Status :: 4 - Beta", 29 | "Operating System :: OS Independent", 30 | "Programming Language :: Python :: 2.6", 31 | "Programming Language :: Python :: 2.7", 32 | #"Programming Language :: Python :: 3.2", 33 | #"Programming Language :: Python :: 3.3", 34 | #"Programming Language :: Python :: 3.4", 35 | "Topic :: Utilities", 36 | ), 37 | install_requires=['requests', 'oauth2', 'requests-oauthlib'], 38 | ) 39 | --------------------------------------------------------------------------------