├── README.md
├── ThreadPool.py
├── database.py
├── fortune.py
├── learn_ansible
└── deploy-blog-simple.yml
├── learn_celery
├── tasks.py
└── tasks.pyc
├── learn_epoll
└── server.py
├── learn_eventsource
└── eventsource_django
│ ├── eventsource_django
│ ├── __init__.py
│ ├── settings.py
│ ├── templates
│ │ └── index.html
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
│ └── manage.py
├── learn_falcon
└── server.py
├── learn_setup
├── demopro
│ ├── MANIFEST.in
│ ├── djangodemo
│ │ ├── .idea
│ │ │ ├── .name
│ │ │ ├── djangodemo.iml
│ │ │ ├── encodings.xml
│ │ │ ├── inspectionProfiles
│ │ │ │ └── profiles_settings.xml
│ │ │ ├── misc.xml
│ │ │ ├── modules.xml
│ │ │ ├── scopes
│ │ │ │ └── scope_settings.xml
│ │ │ ├── vcs.xml
│ │ │ └── workspace.xml
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── manage.py
│ │ ├── settings.py
│ │ ├── settings.pyc
│ │ └── urls.py
│ └── setup.py
└── singledemo
│ ├── MANIFEST.in
│ ├── demo
│ ├── __init__.py
│ ├── hello.py
│ ├── model
│ │ ├── __init__.py
│ │ └── entity.py
│ ├── static
│ │ └── test.txt
│ └── testdd.txt
│ └── setup.py
├── learn_tornado
├── helloworld
│ └── helloworld.py
└── mvc_hello
│ ├── __init__.py
│ ├── handlers
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── index.py
│ └── index.pyc
│ ├── server.py
│ ├── static
│ └── css
│ │ └── index.css
│ ├── templates
│ └── index.html
│ ├── urls.py
│ └── urls.pyc
├── numberlines.py
├── pytail.py
├── rulewrite.py
├── sohupy
├── 1
│ ├── README
│ ├── fetcher.py
│ └── main.py
└── 3
│ ├── README
│ ├── checker.py
│ ├── config.ini
│ └── workermanager.py
└── tools
├── jsonreader.py
├── timeparse.py
└── urllib_proxy.py
/README.md:
--------------------------------------------------------------------------------
1 | practice_demo
2 | =============
3 |
4 | many demo for me
--------------------------------------------------------------------------------
/ThreadPool.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 |
3 | import threading, Queue, time, sys
4 |
5 | Qin = Queue.Queue()
6 | Qout = Queue.Queue()
7 | Qerr = Queue.Queue()
8 | Pool = []
9 |
10 | def report_error():
11 | Qerr.put(sys.exc_info()[:2])
12 |
13 | def get_all_from_queue(Q):
14 | try:
15 | while True:
16 | yield Q.get_nowait()
17 | except Queue.Empty:
18 | raise StopIteration
19 |
20 | def do_work_from_queue():
21 | while True:
22 | command, item = Qin.get()
23 | if command == 'stop':
24 | break
25 | try:
26 | if command == 'process':
27 | result = 'new' + item
28 | else:
29 | raise Value, 'Unknown command %r' % command
30 | except:
31 | report_error()
32 | else:
33 | Qout.put(result)
34 |
35 | def make_and_start_thread_pool(number_of_threads_in_pool=5, daemons=True):
36 | for i in range(number_of_threads_in_pool):
37 | new_thread = threading.Thread(target=do_work_from_queue)
38 | new_thread.setDaemon(daemons)
39 | Pool.append(new_thread)
40 | new_thread.start()
41 |
42 | def request_work(data, command='process'):
43 | Qin.put((command, data))
44 |
45 | def get_result():
46 | return Qout.get()
47 |
48 | def show_all_results():
49 | for result in get_all_from_queue(Qout):
50 | print 'Result:', result
51 |
52 | def show_all_errors():
53 | for etyp, err in get_all_from_queue(Qerr):
54 | print 'Error:', etyp, err
55 |
56 | def stop_and_free_thread_pool():
57 | for i in range(len(Pool)):
58 | request_work(None, 'stop')
59 |
60 | for existing_thread in Pool:
61 | existing_thread.join()
62 |
63 | del Pool[:]
64 |
65 | if __name__ == '__main__':
66 | for i in ('_ba',7,'_bo'): request_work(i)
67 |
68 | make_and_start_thread_pool()
69 | stop_and_free_thread_pool()
70 | show_all_results()
71 | show_all_errors()
72 |
--------------------------------------------------------------------------------
/database.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | import sys, shelve
3 |
4 | def store_person(db):
5 | pid = raw_input('Enter unique ID number:')
6 | person = {}
7 | person['name'] = raw_input('Enter namme:')
8 | person['age'] = raw_input('Enter age:')
9 | person['phone'] = raw_input('Enter phone number:')
10 |
11 | db[pid] = person
12 |
13 | def lookup_person(db):
14 | pid = raw_input('Enter ID number:')
15 | field = raw_input('What would you like to know?(name, age, phone)')
16 | field = field.strip().lower()
17 | print field.capitalize() + ':', \
18 | db[pid][field]
19 |
20 | def print_help():
21 | print 'The available commands are:'
22 | print 'store : Stores information about a person'
23 | print 'lookup : Looks up a person from ID number'
24 | print 'quit : Save changes and exit'
25 | print '? : Prints this message'
26 |
27 | def enter_command():
28 | cmd = raw_input('Enter command (? for help): ')
29 | cmd = cmd.strip().lower()
30 | return cmd
31 |
32 | def main():
33 | database = shelve.open('database.dat')
34 | try:
35 | while True:
36 | cmd = enter_command()
37 | if cmd == 'store':
38 | store_person(database)
39 | elif cmd == 'lookup':
40 | lookup_person(database)
41 | elif cmd == '?':
42 | print_help()
43 | elif cmd == 'quit':
44 | return
45 | finally:
46 | database.close()
47 |
48 | if __name__ == '__main__':main()
49 |
50 |
--------------------------------------------------------------------------------
/fortune.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 |
3 | import fileinput, random
4 |
5 | fortunes = list(fileinput.input())
6 | print random.choice(fortunes)
7 |
--------------------------------------------------------------------------------
/learn_ansible/deploy-blog-simple.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: local # hosts中指定
3 | remote_user: the5fire # 如果和当前用户一样,则无需指定
4 | tasks:
5 | - name: check out django_blog
6 | git: dest=~/demos/django_selfblog repo=https://github.com/the5fire/django_selfblog
7 | update=yes
8 | - name: make virtualenv
9 | shell: 'virtualenv ~/demos'
10 | - name: install requirements
11 | pip: requirements=~/demos/django_selfblog/requirements.txt
12 | virtualenv=~/demos
13 | - name: init database
14 | shell: . ./bin/activate && cd django_selfblog/selfblog && ./init_database.sh chdir=~/demos
15 | - name: run manage.py
16 | shell: . ./bin/activate && cd django_selfblog/selfblog && ./run.sh chdir=~/demos
17 |
--------------------------------------------------------------------------------
/learn_celery/tasks.py:
--------------------------------------------------------------------------------
1 | import subprocess
2 | from time import sleep
3 |
4 | from celery import Celery
5 |
6 | backend = 'db+mysql://root:@localhost/celery'
7 | broker = 'amqp://guest@localhost//'
8 |
9 | app = Celery('tasks', backend=backend, broker=broker)
10 |
11 |
12 | @app.task
13 | def add(x, y):
14 | sleep(10)
15 | return x + y
16 |
17 |
18 | @app.task
19 | def hostname():
20 | return subprocess.check_output(['hostname'])
21 |
--------------------------------------------------------------------------------
/learn_celery/tasks.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_celery/tasks.pyc
--------------------------------------------------------------------------------
/learn_epoll/server.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # coding:utf-8
3 |
4 | import socket
5 |
6 | from handler import handle_connection
7 |
8 | serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
9 | serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
10 | serversocket.bind(('0.0.0.0', 8080))
11 | serversocket.listen(1)
12 |
13 | try:
14 | while True:
15 | conn, address = serversocket.accept()
16 | handle_connection(conn, address)
17 | finally:
18 | serversocket.close()
19 |
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/eventsource_django/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_eventsource/eventsource_django/eventsource_django/__init__.py
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/eventsource_django/settings.py:
--------------------------------------------------------------------------------
1 | """
2 | Django settings for eventsource_django project.
3 |
4 | For more information on this file, see
5 | https://docs.djangoproject.com/en/1.6/topics/settings/
6 |
7 | For the full list of settings and their values, see
8 | https://docs.djangoproject.com/en/1.6/ref/settings/
9 | """
10 |
11 | # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
12 | import os
13 | BASE_DIR = os.path.dirname(os.path.dirname(__file__))
14 |
15 |
16 | # Quick-start development settings - unsuitable for production
17 | # See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
18 |
19 | # SECURITY WARNING: keep the secret key used in production secret!
20 | SECRET_KEY = 't=d(2866vthd0v6$qf*^qvww+*$$%r4&9nwng2w9--7s)-jx25'
21 |
22 | # SECURITY WARNING: don't run with debug turned on in production!
23 | DEBUG = True
24 |
25 | TEMPLATE_DEBUG = True
26 |
27 | ALLOWED_HOSTS = []
28 |
29 |
30 | # Application definition
31 |
32 | INSTALLED_APPS = (
33 | 'eventsource_django',
34 |
35 | 'django.contrib.admin',
36 | 'django.contrib.auth',
37 | 'django.contrib.contenttypes',
38 | 'django.contrib.sessions',
39 | 'django.contrib.messages',
40 | 'django.contrib.staticfiles',
41 | )
42 |
43 | MIDDLEWARE_CLASSES = (
44 | 'django.contrib.sessions.middleware.SessionMiddleware',
45 | 'django.middleware.common.CommonMiddleware',
46 | 'django.middleware.csrf.CsrfViewMiddleware',
47 | 'django.contrib.auth.middleware.AuthenticationMiddleware',
48 | 'django.contrib.messages.middleware.MessageMiddleware',
49 | 'django.middleware.clickjacking.XFrameOptionsMiddleware',
50 | )
51 |
52 | ROOT_URLCONF = 'eventsource_django.urls'
53 |
54 | WSGI_APPLICATION = 'eventsource_django.wsgi.application'
55 |
56 |
57 | # Database
58 | # https://docs.djangoproject.com/en/1.6/ref/settings/#databases
59 |
60 | DATABASES = {
61 | 'default': {
62 | 'ENGINE': 'django.db.backends.sqlite3',
63 | 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
64 | }
65 | }
66 |
67 | # Internationalization
68 | # https://docs.djangoproject.com/en/1.6/topics/i18n/
69 |
70 | LANGUAGE_CODE = 'en-us'
71 |
72 | TIME_ZONE = 'UTC'
73 |
74 | USE_I18N = True
75 |
76 | USE_L10N = True
77 |
78 | USE_TZ = True
79 |
80 |
81 | # Static files (CSS, JavaScript, Images)
82 | # https://docs.djangoproject.com/en/1.6/howto/static-files/
83 |
84 | STATIC_URL = '/static/'
85 |
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/eventsource_django/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | EventSource-Dango-Demo by the5fire
4 |
5 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/eventsource_django/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls import patterns
2 |
3 | from django.views.generic import TemplateView
4 |
5 | from .views import eventsource, ajax
6 |
7 |
8 | urlpatterns = patterns(
9 | '',
10 | (r'^eventsource/$', eventsource),
11 | (r'^ajax/$', ajax),
12 | (r'^$', TemplateView.as_view(template_name="index.html")),
13 | )
14 |
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/eventsource_django/views.py:
--------------------------------------------------------------------------------
1 | # coding:utf-8
2 |
3 | import time
4 |
5 | from django.http import HttpResponse, StreamingHttpResponse
6 | from django.utils.timezone import now
7 |
8 |
9 | def eventsource(request):
10 | time.sleep(10)
11 | response = StreamingHttpResponse(stream_generator(), content_type="text/event-stream")
12 | response['Cache-Control'] = 'no-cache'
13 | return response
14 |
15 |
16 | def stream_generator():
17 | while True:
18 | # 发送事件数据
19 | # yield 'event: date\ndata: %s\n\n' % str(now())
20 |
21 | # 发送数据
22 | yield u'data: %s\n\n' % str(now())
23 | time.sleep(4)
24 |
25 |
26 | def ajax(request):
27 | time.sleep(2)
28 | return HttpResponse('ajax')
29 |
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/eventsource_django/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for eventsource_django project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "eventsource_django.settings")
12 |
13 | from django.core.wsgi import get_wsgi_application
14 | application = get_wsgi_application()
15 |
--------------------------------------------------------------------------------
/learn_eventsource/eventsource_django/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | import os
3 | import sys
4 |
5 | if __name__ == "__main__":
6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "eventsource_django.settings")
7 |
8 | from django.core.management import execute_from_command_line
9 |
10 | execute_from_command_line(sys.argv)
11 |
--------------------------------------------------------------------------------
/learn_falcon/server.py:
--------------------------------------------------------------------------------
1 | # things.py
2 |
3 | # Let's get this party started
4 | import falcon
5 |
6 |
7 | # Falcon follows the REST architectural style, meaning (among
8 | # other things) that you think in terms of resources and state
9 | # transitions, which map to HTTP verbs.
10 | class ThingsResource:
11 | def on_get(self, req, resp):
12 | """Handles GET requests"""
13 | resp.status = falcon.HTTP_200 # This is the default status
14 | resp.body = ('\nTwo things awe me most, the starry sky '
15 | 'above me and the moral law within me.\n'
16 | '\n'
17 | ' ~ Immanuel Kant\n\n')
18 |
19 | # falcon.API instances are callable WSGI apps
20 | app = falcon.API()
21 |
22 | # Resources are represented by long-lived class instances
23 | things = ThingsResource()
24 |
25 | # things will handle all requests to the '/things' URL path
26 | app.add_route('/things', things)
27 |
--------------------------------------------------------------------------------
/learn_setup/demopro/MANIFEST.in:
--------------------------------------------------------------------------------
1 | recursive-include djangodemo *.html *.js *.css
2 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/.name:
--------------------------------------------------------------------------------
1 | djangodemo
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/djangodemo.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/scopes/scope_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
136 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 | false
223 |
224 |
225 |
226 | 1344526127424
227 | 1344526127424
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_setup/demopro/djangodemo/__init__.py
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_setup/demopro/djangodemo/__init__.pyc
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | from django.core.management import execute_manager
3 | import imp
4 | try:
5 | imp.find_module('settings') # Assumed to be in the same directory.
6 | except ImportError:
7 | import sys
8 | sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__)
9 | sys.exit(1)
10 |
11 | import settings
12 |
13 | if __name__ == "__main__":
14 | execute_manager(settings)
15 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/settings.py:
--------------------------------------------------------------------------------
1 | # Django settings for djangodemo project.
2 |
3 | DEBUG = True
4 | TEMPLATE_DEBUG = DEBUG
5 |
6 | ADMINS = (
7 | # ('Your Name', 'your_email@example.com'),
8 | )
9 |
10 | MANAGERS = ADMINS
11 |
12 | DATABASES = {
13 | 'default': {
14 | 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
15 | 'NAME': '', # Or path to database file if using sqlite3.
16 | 'USER': '', # Not used with sqlite3.
17 | 'PASSWORD': '', # Not used with sqlite3.
18 | 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
19 | 'PORT': '', # Set to empty string for default. Not used with sqlite3.
20 | }
21 | }
22 |
23 | # Local time zone for this installation. Choices can be found here:
24 | # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
25 | # although not all choices may be available on all operating systems.
26 | # On Unix systems, a value of None will cause Django to use the same
27 | # timezone as the operating system.
28 | # If running in a Windows environment this must be set to the same as your
29 | # system time zone.
30 | TIME_ZONE = 'America/Chicago'
31 |
32 | # Language code for this installation. All choices can be found here:
33 | # http://www.i18nguy.com/unicode/language-identifiers.html
34 | LANGUAGE_CODE = 'en-us'
35 |
36 | SITE_ID = 1
37 |
38 | # If you set this to False, Django will make some optimizations so as not
39 | # to load the internationalization machinery.
40 | USE_I18N = True
41 |
42 | # If you set this to False, Django will not format dates, numbers and
43 | # calendars according to the current locale
44 | USE_L10N = True
45 |
46 | # Absolute filesystem path to the directory that will hold user-uploaded files.
47 | # Example: "/home/media/media.lawrence.com/media/"
48 | MEDIA_ROOT = ''
49 |
50 | # URL that handles the media served from MEDIA_ROOT. Make sure to use a
51 | # trailing slash.
52 | # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
53 | MEDIA_URL = ''
54 |
55 | # Absolute path to the directory static files should be collected to.
56 | # Don't put anything in this directory yourself; store your static files
57 | # in apps' "static/" subdirectories and in STATICFILES_DIRS.
58 | # Example: "/home/media/media.lawrence.com/static/"
59 | STATIC_ROOT = ''
60 |
61 | # URL prefix for static files.
62 | # Example: "http://media.lawrence.com/static/"
63 | STATIC_URL = '/static/'
64 |
65 | # URL prefix for admin static files -- CSS, JavaScript and images.
66 | # Make sure to use a trailing slash.
67 | # Examples: "http://foo.com/static/admin/", "/static/admin/".
68 | ADMIN_MEDIA_PREFIX = '/static/admin/'
69 |
70 | # Additional locations of static files
71 | STATICFILES_DIRS = (
72 | # Put strings here, like "/home/html/static" or "C:/www/django/static".
73 | # Always use forward slashes, even on Windows.
74 | # Don't forget to use absolute paths, not relative paths.
75 | )
76 |
77 | # List of finder classes that know how to find static files in
78 | # various locations.
79 | STATICFILES_FINDERS = (
80 | 'django.contrib.staticfiles.finders.FileSystemFinder',
81 | 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
82 | # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
83 | )
84 |
85 | # Make this unique, and don't share it with anybody.
86 | SECRET_KEY = 'b31r$m--!xyr!-yj@caz%esfc0vkb$4k7t0^(22^9lc)dxf*do'
87 |
88 | # List of callables that know how to import templates from various sources.
89 | TEMPLATE_LOADERS = (
90 | 'django.template.loaders.filesystem.Loader',
91 | 'django.template.loaders.app_directories.Loader',
92 | # 'django.template.loaders.eggs.Loader',
93 | )
94 |
95 | MIDDLEWARE_CLASSES = (
96 | 'django.middleware.common.CommonMiddleware',
97 | 'django.contrib.sessions.middleware.SessionMiddleware',
98 | 'django.middleware.csrf.CsrfViewMiddleware',
99 | 'django.contrib.auth.middleware.AuthenticationMiddleware',
100 | 'django.contrib.messages.middleware.MessageMiddleware',
101 | )
102 |
103 | ROOT_URLCONF = 'djangodemo.urls'
104 |
105 | TEMPLATE_DIRS = (
106 | # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
107 | # Always use forward slashes, even on Windows.
108 | # Don't forget to use absolute paths, not relative paths.
109 | )
110 |
111 | INSTALLED_APPS = (
112 | 'django.contrib.auth',
113 | 'django.contrib.contenttypes',
114 | 'django.contrib.sessions',
115 | 'django.contrib.sites',
116 | 'django.contrib.messages',
117 | 'django.contrib.staticfiles',
118 | # Uncomment the next line to enable the admin:
119 | # 'django.contrib.admin',
120 | # Uncomment the next line to enable admin documentation:
121 | # 'django.contrib.admindocs',
122 | )
123 |
124 | # A sample logging configuration. The only tangible logging
125 | # performed by this configuration is to send an email to
126 | # the site admins on every HTTP 500 error.
127 | # See http://docs.djangoproject.com/en/dev/topics/logging for
128 | # more details on how to customize your logging configuration.
129 | LOGGING = {
130 | 'version': 1,
131 | 'disable_existing_loggers': False,
132 | 'handlers': {
133 | 'mail_admins': {
134 | 'level': 'ERROR',
135 | 'class': 'django.utils.log.AdminEmailHandler'
136 | }
137 | },
138 | 'loggers': {
139 | 'django.request': {
140 | 'handlers': ['mail_admins'],
141 | 'level': 'ERROR',
142 | 'propagate': True,
143 | },
144 | }
145 | }
146 |
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/settings.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_setup/demopro/djangodemo/settings.pyc
--------------------------------------------------------------------------------
/learn_setup/demopro/djangodemo/urls.py:
--------------------------------------------------------------------------------
1 | from django.conf.urls.defaults import patterns, include, url
2 |
3 | # Uncomment the next two lines to enable the admin:
4 | # from django.contrib import admin
5 | # admin.autodiscover()
6 |
7 | urlpatterns = patterns('',
8 | # Examples:
9 | # url(r'^$', 'djangodemo.views.home', name='home'),
10 | # url(r'^djangodemo/', include('djangodemo.foo.urls')),
11 |
12 | # Uncomment the admin/doc line below to enable admin documentation:
13 | # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
14 |
15 | # Uncomment the next line to enable the admin:
16 | # url(r'^admin/', include(admin.site.urls)),
17 | )
18 |
--------------------------------------------------------------------------------
/learn_setup/demopro/setup.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 | '''
3 |
4 | '''
5 | import os
6 | import sys
7 |
8 | from setuptools import setup, find_packages
9 |
10 |
11 | setup(
12 | name = "djangodemo",
13 | version = "0.0.1",
14 | packages = find_packages(exclude=["demo/*"]),
15 |
16 | include_package_data = True,
17 |
18 | install_requires = [
19 | 'django>=1.3'
20 | ],
21 |
22 | entry_points = {
23 | 'console_scripts' : [
24 | 'djangodemo = djangodemo.server:run'
25 | ],
26 | },
27 | author = "the5fire",
28 | author_email = 'myemail@email.com',
29 | url = "http://www.the5fire.net",
30 | description = 'a demo for setuptools',
31 | )
32 |
--------------------------------------------------------------------------------
/learn_setup/singledemo/MANIFEST.in:
--------------------------------------------------------------------------------
1 | recursive-include demo *.txt
2 |
--------------------------------------------------------------------------------
/learn_setup/singledemo/demo/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_setup/singledemo/demo/__init__.py
--------------------------------------------------------------------------------
/learn_setup/singledemo/demo/hello.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | def hello():
4 |
5 | f = open('testdd.txt', 'r')
6 | content = f.read()
7 | f.close()
8 | print content
9 |
--------------------------------------------------------------------------------
/learn_setup/singledemo/demo/model/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_setup/singledemo/demo/model/__init__.py
--------------------------------------------------------------------------------
/learn_setup/singledemo/demo/model/entity.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | class Entity(object):
4 | pass
5 |
--------------------------------------------------------------------------------
/learn_setup/singledemo/demo/static/test.txt:
--------------------------------------------------------------------------------
1 | test
2 |
--------------------------------------------------------------------------------
/learn_setup/singledemo/demo/testdd.txt:
--------------------------------------------------------------------------------
1 | testddd
2 |
--------------------------------------------------------------------------------
/learn_setup/singledemo/setup.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 | '''
3 |
4 | '''
5 | import os
6 | import sys
7 |
8 | from setuptools import setup, find_packages
9 |
10 |
11 | setup(
12 | name = "demo",
13 | version = "0.0.1",
14 | packages = find_packages(),
15 |
16 | include_package_data = True,
17 |
18 | entry_points = {
19 | 'console_scripts' : [
20 | 'demo = demo.hello:hello'
21 | ],
22 | },
23 | package_data = {
24 | 'demo':['*.txt']
25 | },
26 | author = "the5fire",
27 | author_email = 'myemail@email.com',
28 | url = "http://www.the5fire.net",
29 | description = 'a demo for setuptools',
30 | )
31 |
--------------------------------------------------------------------------------
/learn_tornado/helloworld/helloworld.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | import tornado.ioloop
4 | import tornado.web
5 |
6 | class MainHandler(tornado.web.RequestHandler):
7 | def get(self):
8 | self.write("Hello, world!")
9 |
10 | application = tornado.web.Application([
11 | (r"/", MainHandler),
12 | ])
13 |
14 | if __name__ == "__main__":
15 | application.listen(8888)
16 | tornado.ioloop.IOLoop.instance().start()
17 |
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_tornado/mvc_hello/__init__.py
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/handlers/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_tornado/mvc_hello/handlers/__init__.py
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/handlers/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_tornado/mvc_hello/handlers/__init__.pyc
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/handlers/index.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | import tornado.web
4 | from model.entity import Entity
5 |
6 | class MainHandler(tornado.web.RequestHandler):
7 | def get(self):
8 | entity = Entity.get('the5fire\'s blog')
9 | self.render('index.html', entity = entity)
10 |
11 |
12 |
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/handlers/index.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_tornado/mvc_hello/handlers/index.pyc
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/server.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | import tornado.ioloop
4 | import sys
5 |
6 | from application import application
7 |
8 | PORT = '8080'
9 |
10 | if __name__ == "__main__":
11 | if len(sys.argv) > 1:
12 | PORT = sys.argv[1]
13 | application.listen(PORT)
14 | print 'Development server is running at http://127.0.0.1:%s/' % PORT
15 | print 'Quit the server with CONTROL-C'
16 | tornado.ioloop.IOLoop.instance().start()
17 |
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/static/css/index.css:
--------------------------------------------------------------------------------
1 | /**
2 |
3 | **/
4 |
5 | body {
6 | background-color:#ccc;
7 | }
8 |
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 首页
6 |
7 |
8 |
9 | Hello, tornado World!
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/urls.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | from handlers.index import MainHandler
4 |
5 | urls = [
6 | (r'/', MainHandler),
7 | ]
8 |
9 |
10 |
--------------------------------------------------------------------------------
/learn_tornado/mvc_hello/urls.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the5fire/practice_demo/5a70bae8405fbc78bbc63029dfb56f1ded01ec54/learn_tornado/mvc_hello/urls.pyc
--------------------------------------------------------------------------------
/numberlines.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8 # 1 # 1
2 | # 2 # 2
3 | import fileinput # 3 # 3
4 | # 4 # 4
5 | for line in fileinput.input(inplace=True): # 5 # 5
6 | line = line.rstrip() # 6 # 6
7 | num = fileinput.lineno() # 7 # 7
8 | print '%-50s # %2i' % (line,num) # 8 # 8
9 |
--------------------------------------------------------------------------------
/pytail.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | '''
3 | author:the5fire
4 | blog:http://www.the5fire.net
5 | date:2012-07-03
6 | '''
7 | import sys
8 |
9 | last_num = 0
10 |
11 | def get_last_line(filepath):
12 | '''
13 | 获取未输入的行
14 | '''
15 | global last_num
16 |
17 | import os
18 | if not os.path.exists(filepath):
19 | print 'no such file %s' % filepath
20 | sys.exit()
21 | return
22 | readfile = open(filepath, 'r')
23 | lines = readfile.readlines()
24 | if len(lines) > 20:
25 | last_num = 20 #首次输出最多输出20行
26 | if last_num < len(lines):
27 | print_lines = lines[last_num-len(lines):]
28 | for line in print_lines:
29 | print len(lines), last_num, line.replace('\n','')
30 | last_num = len(lines)
31 | readfile.close()
32 |
33 |
34 |
35 | def timer(filename):
36 | '''
37 | 每隔1秒执行一次
38 | '''
39 | while True:
40 | get_last_line(filename)
41 | import time
42 | time.sleep(1)
43 |
44 | if __name__ == '__main__':
45 | if len(sys.argv) < 2:
46 | print 'illegal params'
47 | else:
48 | filename = sys.argv[1]
49 | timer(filename)
50 |
--------------------------------------------------------------------------------
/rulewrite.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | '''
3 | author:the5fire
4 | blog:http://www.the5fire.net
5 | date:2012-07-03
6 | '''
7 |
8 | import time
9 |
10 | def writefile(filename):
11 | counter = 0
12 | while True:
13 | writefile = open(filename, 'a')
14 | writefile.write('test' + str(counter) + '\n')
15 | counter += 1
16 | print counter
17 | time.sleep(10)
18 |
19 | if __name__ == '__main__':
20 | import sys
21 | if len(sys.argv) == 2:
22 | filename = sys.argv[1]
23 | writefile(filename)
24 |
--------------------------------------------------------------------------------
/sohupy/1/README:
--------------------------------------------------------------------------------
1 | 这个程序是使用BeautifulSoup这个库来做的。
2 | 只需运行main.py -u http://www.sohu.com -d 'a=1,b=2,c=3' -o /tmp/index.html
3 |
--------------------------------------------------------------------------------
/sohupy/1/fetcher.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | '''
3 | author:huyang
4 | blog:http://www.the5fire.net
5 | date:2012-07-10
6 | function:
7 | 根据获取某一url内的所有链接
8 | 获取某url的页面内容,标题
9 | '''
10 |
11 | from BeautifulSoup import BeautifulSoup as bs
12 | import urllib
13 | import urllib2
14 | import re
15 | import socket
16 |
17 | class Fetch(object):
18 |
19 | def __init__(self, url, from_encoding = 'utf-8'):
20 | self.html = urllib2.urlopen(url).read()
21 | self.html = self.html.decode('gb18030','ignore')
22 | re_domain = '(http\w{0,1}://(\w+?\.?)+?)[\/|\?]'
23 | try:
24 | self.domain = re.search(re_domain, url + '/').group(1)
25 | except Exception,e:
26 | print 'in self.domain:%s, at url:%s' % (str(e),url)
27 | self.soup = bs(self.html, fromEncoding = from_encoding)
28 |
29 | def get_content(self):
30 | return self.soup
31 |
32 | def get_title(self):
33 | if self.soup:
34 | return self.soup.title
35 | else:
36 | return None
37 |
38 | def get_all_link(self):
39 | if self.soup:
40 | for a_dom in self.soup.findAll('a'):
41 | href = a_dom.get('href')
42 | if not href:
43 | continue
44 | #过滤没有意义的链接
45 | if '#' in href or 'javascript' in href:
46 | continue
47 | yield href
48 | else:
49 | return
50 |
51 |
52 | if __name__ == '__main__':
53 | fetch = Fetch('http://www.sohu.com/', from_encoding="GBK")
54 | fetch.get_all_link()
55 | #for link in fetch.get_all_link():
56 | # print link
57 |
--------------------------------------------------------------------------------
/sohupy/1/main.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | '''
3 | author:huyang
4 | date:2012-7-10
5 | blog:http://www.the5fire.net
6 | '''
7 |
8 | from optparse import OptionParser
9 | from fetcher import Fetch
10 | import sys
11 | reload(sys)
12 | sys.setdefaultencoding("utf-8")
13 |
14 | def main(url, data, obj):
15 | '''
16 | 主函数,在该函数中,完成以下功能:
17 | 1、获取给定url页面中的所有链接
18 | 2、判断链接的url,并添加参数
19 | 3、将转换完成的url存入文件爱呢。
20 | '''
21 | print '====BEGIN======'
22 | try:
23 | fetcher = Fetch(url = url, from_encoding = 'GBK')
24 | content = fetcher.get_content().renderContents()
25 | for link in fetcher.get_all_link():
26 | params = data.split(',')
27 | #处理如果存在参数
28 | for param in params:
29 | if param in link:
30 | params.remove(param)
31 | newlink = '%s?%s' % (link,'&'.join(params))
32 | #链接替换
33 | content = content.replace('href="%s"' % link, 'href="%s"' % newlink)
34 | obj_file = open(obj, 'w')
35 | obj_file.write(content)
36 | obj_file.close()
37 | print '====OVER======='
38 | except Exception,e:
39 | print 'an exception occur:%s' % str(e)
40 |
41 | if __name__ == '__main__':
42 | #定义命令行参数
43 | usage = "usage: %prog -u http://www.sohu.com -d 'a=1,b=2,c=3' -o /tmp/index.html"
44 |
45 | parser = OptionParser(usage=usage)
46 |
47 | parser.add_option("-u", "--url", dest="url",
48 | help="the webpage url you want to fetch.eg:-u http://www.baidu.com")
49 |
50 | parser.add_option("-d", "--data", dest="data",
51 | help="the params you want to add to the link in the page you give")
52 |
53 | parser.add_option("-o", "--obj", dest="obj", default="/tmp/default.html",
54 | help="local file to store all links you got")
55 |
56 | (options, args) = parser.parse_args()
57 |
58 | #url为必填项
59 | if not options.url or not options.data:
60 | parser.print_help()
61 | else:
62 | main(url = options.url, data = options.data, obj = options.obj)
63 |
--------------------------------------------------------------------------------
/sohupy/3/README:
--------------------------------------------------------------------------------
1 | 运行方法:
2 | python checker.py -c confile.ini -t 20 --debug(用来显示检查的每个url)
3 |
4 | workermanager.py中实现了一个简单的线程池可用来进行并发处理
5 |
6 | config.ini中是我随便放的测试数据
7 |
--------------------------------------------------------------------------------
/sohupy/3/checker.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | '''
3 | author:huyang
4 | date:2012-7-10
5 | blog:http://www.the5fire.net
6 | '''
7 | import urllib
8 | import time
9 | import threading
10 |
11 | from optparse import OptionParser
12 | from workermanager import WorkManager
13 | from workermanager import Work
14 |
15 | class Timer(threading.Thread):
16 | '''
17 | 用来检查线程池中的任务数,据此退出线程
18 | '''
19 | def __init__(self, workmanager):
20 | super(Timer, self).__init__()
21 | self.workmanager = workmanager
22 | self.start()
23 |
24 | def run(self):
25 | while True:
26 | call_quit_flag = False
27 | try:
28 | #print 'there are %s jobs remain.' % str(self.workmanager.check_queue())
29 | if not call_quit_flag and self.workmanager.check_queue() < 1:
30 | call_quit_flag = True
31 | self.workmanager.quit_thread()
32 |
33 | if call_quit_flag and self.workmanager.check_thread() < 1:
34 | print '==========Travel Over=============='
35 | break
36 | time.sleep(3)
37 | except Exception,e:
38 | print 'an exception occur in timer:%s' % str(e)
39 | break
40 |
41 | def main(confile, thread_num, debug):
42 | '''
43 | 主函数,功能如下:
44 | 1、读取配置文件中的数据
45 | 2、将读取的数据传入检查函数,并将函数放入队列中
46 | 3、启动队列
47 | '''
48 | workmanager = WorkManager(thread_num = thread_num)
49 | f = open(confile, 'r')
50 | for line in f.readlines():
51 | try:
52 | url, keyword, httpcode = tuple(line.split('|'))
53 | workmanager.add_job(check, url = url, keyword = keyword, httpcode = httpcode, debug = debug)
54 | except Exception,e:
55 | print 'an exception occur when read file:%s' % str(e)
56 | continue
57 | f.close()
58 | workmanager.start_thread_pool()
59 | timer = Timer(workmanager)
60 |
61 | def check(options):
62 | '''
63 | 判断url内容是否含有关键字,且状态码与指定相同
64 | '''
65 | url, keyword, httpcode = options.get('url'),options.get('keyword'),options.get('httpcode')
66 | if options.get('debug'):
67 | print 'check %s' % url
68 | req = urllib.urlopen(url)
69 | if req.getcode() != int(httpcode):
70 | print 'http status code error on url:%s,except code:%s, actually code is:%s' % (httpcode,url,req.getcode())
71 | return
72 | content = req.read()
73 | if keyword not in content:
74 | print 'keyword error on url:%s,not found %s' % (url,keyword)
75 |
76 |
77 | if __name__ == '__main__':
78 | usage = "usage: %prog -c config.ini -t 100"
79 |
80 | parser = OptionParser(usage=usage)
81 |
82 | parser.add_option("-c", "--confile", dest="confile", default="config.ini",
83 | help="local file path")
84 |
85 | parser.add_option("-t", "--thread_num", dest="thread_num", default = 1,
86 | help="how many thread you want to run")
87 |
88 | parser.add_option("--debug", "--debug", dest="debug", default = False,
89 | action="store_true",
90 | help="show check info")
91 |
92 | (options, args) = parser.parse_args()
93 | import os
94 | #如果配置文件不存在,输入help信息
95 | if not os.path.isfile(options.confile):
96 | print 'the file:%s doesn\'t exist' % options.confile
97 | parser.print_help()
98 |
99 | main(options.confile, int(options.thread_num), options.debug)
100 |
--------------------------------------------------------------------------------
/sohupy/3/config.ini:
--------------------------------------------------------------------------------
1 | http://m.sohu.com/c/5/|财经|200
2 | http://m.sohu.com/|体育|200
3 | http://m.sohu.com/n/346620805/|信号|200
4 | http://www.baidu.com/|搜狐|200
5 |
6 | http://m.sohu.com/c/5/|财经|200
7 | http://m.sohu.com/c/5/|财经|200
8 | http://m.sohu.com/c/5/|财经|200
9 | http://m.sohu.com/c/5/|财经|200
10 | http://m.sohu.com/c/5/|财经|200
11 | http://m.sohu.com/c/5/|财经|200
12 | http://m.sohu.com/c/5/|财经|200
13 | http://m.sohu.com/c/5/|财经|200
14 | http://m.sohu.com/c/5/|财经|200
15 | http://m.sohu.com/c/5/|财经|200
16 | http://m.sohu.com/c/5/|财经|200
17 | http://m.sohu.com/c/5/|财经|200
18 | http://m.sohu.com/c/5/|财经|200
19 | http://m.sohu.com/c/5/|财经|200
20 | http://m.sohu.com/c/5/|财经|200
21 | http://m.sohu.com/c/5/|财经|200
22 | http://m.sohu.com/c/5/|财经|200
23 | http://m.sohu.com/c/5/|财经|200
24 | http://m.sohu.com/c/5/|财经|200
25 | http://m.sohu.com/c/5/|财经|200
26 | http://m.sohu.com/c/5/|财经|200
27 | http://m.sohu.com/c/5/|财经|200
28 | http://m.sohu.com/c/5/|财经|200
29 | http://m.sohu.com/c/5/|财经|200
30 | http://m.sohu.com/c/5/|财经|200
31 | http://m.sohu.com/c/5/|财经|200
32 | http://m.sohu.com/c/5/|财经|200
33 | http://m.sohu.com/c/5/|财经|200
34 | http://m.sohu.com/c/5/|财经|200
35 | http://m.sohu.com/c/5/|财经|200
36 | http://m.sohu.com/c/5/|财经|200
37 | http://m.sohu.com/c/5/|财经|200
38 | http://m.sohu.com/c/5/|财经|200
39 | http://m.sohu.com/c/5/|财经|200
40 | http://m.sohu.com/c/5/|财经|200
41 | http://m.sohu.com/c/5/|财经|200
42 | http://m.sohu.com/c/5/|财经|200
43 | http://m.sohu.com/c/5/|财经|200
44 | http://m.sohu.com/c/5/|财经|200
45 | http://m.sohu.com/c/5/|财经|200
46 | http://m.sohu.com/c/5/|财经|200
47 | http://m.sohu.com/c/5/|财经|200
48 | http://m.sohu.com/c/5/|财经|200
49 | http://m.sohu.com/c/5/|财经|200
50 | http://m.sohu.com/c/5/|财经|200
51 | http://m.sohu.com/c/5/|财经|200
52 | http://m.sohu.com/c/5/|财经|200
53 | http://m.sohu.com/c/5/|财经|200
54 | http://m.sohu.com/c/5/|财经|200
55 | http://m.sohu.com/c/5/|财经|200
56 | http://m.sohu.com/c/5/|财经|200
57 | http://m.sohu.com/c/5/|财经|200
58 | http://m.sohu.com/c/5/|财经|200
59 | http://m.sohu.com/c/5/|财经|200
60 | http://m.sohu.com/c/5/|财经|200
61 | http://m.sohu.com/c/5/|财经|200
62 | http://m.sohu.com/c/5/|财经|200
63 | http://m.sohu.com/c/5/|财经|200
64 | http://m.sohu.com/c/5/|财经|200
65 | http://m.sohu.com/c/5/|财经|200
66 | http://m.sohu.com/c/5/|财经|200
67 | http://m.sohu.com/c/5/|财经|200
68 | http://m.sohu.com/c/5/|财经|200
69 | http://m.sohu.com/c/5/|财经|200
70 | http://m.sohu.com/c/5/|财经|200
71 | http://m.sohu.com/c/5/|财经|200
72 | http://m.sohu.com/c/5/|财经|200
73 | http://m.sohu.com/c/5/|财经|200
74 | http://m.sohu.com/c/5/|财经|200
75 | http://m.sohu.com/c/5/|财经|200
76 | http://m.sohu.com/c/5/|财经|200
77 | http://m.sohu.com/c/5/|财经|200
78 | http://m.sohu.com/c/5/|财经|200
79 | http://m.sohu.com/c/5/|财经|200
80 | http://m.sohu.com/c/5/|财经|200
81 | http://m.sohu.com/c/5/|财经|200
82 | http://m.sohu.com/c/5/|财经|200
83 | http://m.sohu.com/c/5/|财经|200
84 | http://m.sohu.com/c/5/|财经|200
85 | http://m.sohu.com/c/5/|财经|200
86 | http://m.sohu.com/c/5/|财经|200
87 | http://m.sohu.com/c/5/|财经|200
88 | http://m.sohu.com/c/5/|财经|200
89 | http://m.sohu.com/c/5/|财经|200
90 | http://m.sohu.com/c/5/|财经|200
91 | http://m.sohu.com/c/5/|财经|200
92 | http://m.sohu.com/c/5/|财经|200
93 | http://m.sohu.com/c/5/|财经|200
94 | http://m.sohu.com/c/5/|财经|200
95 | http://m.sohu.com/c/5/|财经|200
96 | http://m.sohu.com/c/5/|财经|200
97 | http://m.sohu.com/c/5/|财经|200
98 | http://m.sohu.com/c/5/|财经|200
99 | http://m.sohu.com/c/5/|财经|200
100 | http://m.sohu.com/c/5/|财经|200
101 | http://m.sohu.com/c/5/|财经|200
102 | http://m.sohu.com/c/5/|财经|200
103 | http://m.sohu.com/c/5/|财经|200
104 | http://m.sohu.com/c/5/|财经|200
105 | http://m.sohu.com/c/5/|财经|200
106 | http://m.sohu.com/c/5/|财经|200
107 | http://m.sohu.com/c/5/|财经|200
108 | http://m.sohu.com/c/5/|财经|200
109 | http://m.sohu.com/c/5/|财经|200
110 | http://m.sohu.com/c/5/|财经|200
111 | http://m.sohu.com/c/5/|财经|200
112 | http://m.sohu.com/c/5/|财经|200
113 | http://m.sohu.com/c/5/|财经|200
114 | http://m.sohu.com/c/5/|财经|200
115 | http://m.sohu.com/c/5/|财经|200
116 | http://m.sohu.com/c/5/|财经|200
117 | http://m.sohu.com/c/5/|财经|200
118 | http://m.sohu.com/c/5/|财经|200
119 | http://m.sohu.com/c/5/|财经|200
120 | http://m.sohu.com/c/5/|财经|200
121 | http://m.sohu.com/c/5/|财经|200
122 | http://m.sohu.com/c/5/|财经|200
123 | http://m.sohu.com/c/5/|财经|200
124 | http://m.sohu.com/c/5/|财经|200
125 | http://m.sohu.com/c/5/|财经|200
126 | http://m.sohu.com/c/5/|财经|200
127 | http://m.sohu.com/c/5/|财经|200
128 | http://m.sohu.com/c/5/|财经|200
129 | http://m.sohu.com/c/5/|财经|200
130 | http://m.sohu.com/c/5/|财经|200
131 | http://m.sohu.com/c/5/|财经|200
132 | http://m.sohu.com/c/5/|财经|200
133 | http://m.sohu.com/c/5/|财经|200
134 | http://m.sohu.com/c/5/|财经|200
135 | http://m.sohu.com/c/5/|财经|200
136 | http://m.sohu.com/c/5/|财经|200
137 | http://m.sohu.com/c/5/|财经|200
138 | http://m.sohu.com/c/5/|财经|200
139 | http://m.sohu.com/c/5/|财经|200
140 | http://m.sohu.com/c/5/|财经|200
141 | http://m.sohu.com/c/5/|财经|200
142 | http://m.sohu.com/c/5/|财经|200
143 | http://m.sohu.com/c/5/|财经|200
144 | http://m.sohu.com/c/5/|财经|200
145 | http://m.sohu.com/c/5/|财经|200
146 | http://m.sohu.com/c/5/|财经|200
147 | http://m.sohu.com/c/5/|财经|200
148 | http://m.sohu.com/c/5/|财经|200
149 | http://m.sohu.com/c/5/|财经|200
150 | http://m.sohu.com/c/5/|财经|200
151 | http://m.sohu.com/c/5/|财经|200
152 | http://m.sohu.com/c/5/|财经|200
153 | http://m.sohu.com/c/5/|财经|200
154 | http://m.sohu.com/c/5/|财经|200
155 | http://m.sohu.com/c/5/|财经|200
156 | http://m.sohu.com/c/5/|财经|200
157 | http://m.sohu.com/c/5/|财经|200
158 | http://m.sohu.com/c/5/|财经|200
159 | http://m.sohu.com/c/5/|财经|200
160 | http://m.sohu.com/c/5/|财经|200
161 | http://m.sohu.com/c/5/|财经|200
162 | http://m.sohu.com/c/5/|财经|200
163 | http://m.sohu.com/c/5/|财经|200
164 | http://m.sohu.com/c/5/|财经|200
165 | http://m.sohu.com/c/5/|财经|200
166 | http://m.sohu.com/c/5/|财经|200
167 | http://m.sohu.com/c/5/|财经|200
168 | http://m.sohu.com/c/5/|财经|200
169 | http://m.sohu.com/c/5/|财经|200
170 | http://m.sohu.com/c/5/|财经|200
171 | http://m.sohu.com/c/5/|财经|200
172 | http://m.sohu.com/c/5/|财经|200
173 | http://m.sohu.com/c/5/|财经|200
174 | http://m.sohu.com/c/5/|财经|200
175 | http://m.sohu.com/c/5/|财经|200
176 | http://m.sohu.com/c/5/|财经|200
177 | http://m.sohu.com/c/5/|财经|200
178 | http://m.sohu.com/c/5/|财经|200
179 | http://m.sohu.com/c/5/|财经|200
180 | http://m.sohu.com/c/5/|财经|200
181 | http://m.sohu.com/c/5/|财经|200
182 | http://m.sohu.com/c/5/|财经|200
183 | http://m.sohu.com/c/5/|财经|200
184 | http://m.sohu.com/c/5/|财经|200
185 | http://m.sohu.com/c/5/|财经|200
186 | http://m.sohu.com/c/5/|财经|200
187 | http://m.sohu.com/c/5/|财经|200
188 | http://m.sohu.com/c/5/|财经|200
189 | http://m.sohu.com/c/5/|财经|200
190 | http://m.sohu.com/c/5/|财经|200
191 | http://m.sohu.com/c/5/|财经|200
192 | http://m.sohu.com/c/5/|财经|200
193 | http://m.sohu.com/c/5/|财经|200
194 | http://m.sohu.com/c/5/|财经|200
195 | http://m.sohu.com/c/5/|财经|200
196 | http://m.sohu.com/c/5/|财经|200
197 | http://m.sohu.com/c/5/|财经|200
198 | http://m.sohu.com/c/5/|财经|200
199 | http://m.sohu.com/c/5/|财经|200
200 | http://m.sohu.com/c/5/|财经|200
201 | http://m.sohu.com/c/5/|财经|200
202 | http://m.sohu.com/c/5/|财经|200
203 | http://m.sohu.com/c/5/|财经|200
204 | http://m.sohu.com/c/5/|财经|200
205 | http://m.sohu.com/c/5/|财经|200
206 | http://m.sohu.com/c/5/|财经|200
207 | http://m.sohu.com/c/5/|财经|200
208 | http://m.sohu.com/c/5/|财经|200
209 | http://m.sohu.com/c/5/|财经|200
210 | http://m.sohu.com/c/5/|财经|200
211 | http://m.sohu.com/c/5/|财经|200
212 | http://m.sohu.com/c/5/|财经|200
213 | http://m.sohu.com/c/5/|财经|200
214 | http://m.sohu.com/c/5/|财经|200
215 | http://m.sohu.com/c/5/|财经|200
216 | http://m.sohu.com/c/5/|财经|200
217 | http://m.sohu.com/c/5/|财经|200
218 | http://m.sohu.com/c/5/|财经|200
219 | http://m.sohu.com/c/5/|财经|200
220 | http://m.sohu.com/c/5/|财经|200
221 | http://m.sohu.com/c/5/|财经|200
222 | http://m.sohu.com/c/5/|财经|200
223 | http://m.sohu.com/c/5/|财经|200
224 | http://m.sohu.com/c/5/|财经|200
225 | http://m.sohu.com/c/5/|财经|200
226 | http://m.sohu.com/c/5/|财经|200
227 | http://m.sohu.com/c/5/|财经|200
228 | http://m.sohu.com/c/5/|财经|200
229 | http://m.sohu.com/c/5/|财经|200
230 | http://m.sohu.com/c/5/|财经|200
231 | http://m.sohu.com/c/5/|财经|200
232 | http://m.sohu.com/c/5/|财经|200
233 | http://m.sohu.com/c/5/|财经|200
234 | http://m.sohu.com/c/5/|财经|200
235 | http://m.sohu.com/c/5/|财经|200
236 | http://m.sohu.com/c/5/|财经|200
237 | http://m.sohu.com/c/5/|财经|200
238 | http://m.sohu.com/c/5/|财经|200
239 | http://m.sohu.com/c/5/|财经|200
240 | http://m.sohu.com/c/5/|财经|200
241 | http://m.sohu.com/c/5/|财经|200
242 | http://m.sohu.com/c/5/|财经|200
243 | http://m.sohu.com/c/5/|财经|200
244 | http://m.sohu.com/c/5/|财经|200
245 | http://m.sohu.com/c/5/|财经|200
246 | http://m.sohu.com/c/5/|财经|200
247 | http://m.sohu.com/c/5/|财经|200
248 | http://m.sohu.com/c/5/|财经|200
249 | http://m.sohu.com/c/5/|财经|200
250 | http://m.sohu.com/c/5/|财经|200
251 | http://m.sohu.com/c/5/|财经|200
252 | http://m.sohu.com/c/5/|财经|200
253 | http://m.sohu.com/c/5/|财经|200
254 | http://m.sohu.com/c/5/|财经|200
255 | http://m.sohu.com/c/5/|财经|200
256 | http://m.sohu.com/c/5/|财经|200
257 | http://m.sohu.com/c/5/|财经|200
258 | http://m.sohu.com/c/5/|财经|200
259 | http://m.sohu.com/c/5/|财经|200
260 | http://m.sohu.com/c/5/|财经|200
261 | http://m.sohu.com/c/5/|财经|200
262 | http://m.sohu.com/c/5/|财经|200
263 | http://m.sohu.com/c/5/|财经|200
264 | http://m.sohu.com/c/5/|财经|200
265 | http://m.sohu.com/c/5/|财经|200
266 | http://m.sohu.com/c/5/|财经|200
267 | http://m.sohu.com/c/5/|财经|200
268 | http://m.sohu.com/c/5/|财经|200
269 | http://m.sohu.com/c/5/|财经|200
270 | http://m.sohu.com/c/5/|财经|200
271 | http://m.sohu.com/c/5/|财经|200
272 | http://m.sohu.com/c/5/|财经|200
273 | http://m.sohu.com/c/5/|财经|200
274 | http://m.sohu.com/c/5/|财经|200
275 | http://m.sohu.com/c/5/|财经|200
276 | http://m.sohu.com/c/5/|财经|200
277 | http://m.sohu.com/c/5/|财经|200
278 | http://m.sohu.com/c/5/|财经|200
279 | http://m.sohu.com/c/5/|财经|200
280 | http://m.sohu.com/c/5/|财经|200
281 | http://m.sohu.com/c/5/|财经|200
282 | http://m.sohu.com/c/5/|财经|200
283 | http://m.sohu.com/c/5/|财经|200
284 | http://m.sohu.com/c/5/|财经|200
285 | http://m.sohu.com/c/5/|财经|200
286 | http://m.sohu.com/c/5/|财经|200
287 | http://m.sohu.com/c/5/|财经|200
288 | http://m.sohu.com/c/5/|财经|200
289 | http://m.sohu.com/c/5/|财经|200
290 | http://m.sohu.com/c/5/|财经|200
291 | http://m.sohu.com/c/5/|财经|200
292 | http://m.sohu.com/c/5/|财经|200
293 | http://m.sohu.com/c/5/|财经|200
294 | http://m.sohu.com/c/5/|财经|200
295 | http://m.sohu.com/c/5/|财经|200
296 | http://m.sohu.com/c/5/|财经|200
297 | http://m.sohu.com/c/5/|财经|200
298 | http://m.sohu.com/c/5/|财经|200
299 | http://m.sohu.com/c/5/|财经|200
300 | http://m.sohu.com/c/5/|财经|200
301 | http://m.sohu.com/c/5/|财经|200
302 | http://m.sohu.com/c/5/|财经|200
303 | http://m.sohu.com/c/5/|财经|200
304 | http://m.sohu.com/c/5/|财经|200
305 | http://m.sohu.com/c/5/|财经|200
306 | http://m.sohu.com/c/5/|财经|200
307 | http://m.sohu.com/c/5/|财经|200
308 | http://m.sohu.com/c/5/|财经|200
309 | http://m.sohu.com/c/5/|财经|200
310 | http://m.sohu.com/c/5/|财经|200
311 | http://m.sohu.com/c/5/|财经|200
312 | http://m.sohu.com/c/5/|财经|200
313 | http://m.sohu.com/c/5/|财经|200
314 | http://m.sohu.com/c/5/|财经|200
315 | http://m.sohu.com/c/5/|财经|200
316 | http://m.sohu.com/c/5/|财经|200
317 | http://m.sohu.com/c/5/|财经|200
318 | http://m.sohu.com/c/5/|财经|200
319 | http://m.sohu.com/c/5/|财经|200
320 | http://m.sohu.com/c/5/|财经|200
321 | http://m.sohu.com/c/5/|财经|200
322 | http://m.sohu.com/c/5/|财经|200
323 | http://m.sohu.com/c/5/|财经|200
324 | http://m.sohu.com/c/5/|财经|200
325 | http://m.sohu.com/c/5/|财经|200
326 | http://m.sohu.com/c/5/|财经|200
327 | http://m.sohu.com/c/5/|财经|200
328 | http://m.sohu.com/c/5/|财经|200
329 | http://m.sohu.com/c/5/|财经|200
330 | http://m.sohu.com/c/5/|财经|200
331 | http://m.sohu.com/c/5/|财经|200
332 | http://m.sohu.com/c/5/|财经|200
333 | http://m.sohu.com/c/5/|财经|200
334 | http://m.sohu.com/c/5/|财经|200
335 | http://m.sohu.com/c/5/|财经|200
336 | http://m.sohu.com/c/5/|财经|200
337 | http://m.sohu.com/c/5/|财经|200
338 | http://m.sohu.com/c/5/|财经|200
339 | http://m.sohu.com/c/5/|财经|200
340 | http://m.sohu.com/c/5/|财经|200
341 | http://m.sohu.com/c/5/|财经|200
342 | http://m.sohu.com/c/5/|财经|200
343 | http://m.sohu.com/c/5/|财经|200
344 | http://m.sohu.com/c/5/|财经|200
345 | http://m.sohu.com/c/5/|财经|200
346 | http://m.sohu.com/c/5/|财经|200
347 | http://m.sohu.com/c/5/|财经|200
348 | http://m.sohu.com/c/5/|财经|200
349 | http://m.sohu.com/c/5/|财经|200
350 | http://m.sohu.com/c/5/|财经|200
351 | http://m.sohu.com/c/5/|财经|200
352 | http://m.sohu.com/c/5/|财经|200
353 | http://m.sohu.com/c/5/|财经|200
354 | http://m.sohu.com/c/5/|财经|200
355 | http://m.sohu.com/c/5/|财经|200
356 | http://m.sohu.com/c/5/|财经|200
357 | http://m.sohu.com/c/5/|财经|200
358 | http://m.sohu.com/c/5/|财经|200
359 | http://m.sohu.com/c/5/|财经|200
360 | http://m.sohu.com/c/5/|财经|200
361 | http://m.sohu.com/c/5/|财经|200
362 | http://m.sohu.com/c/5/|财经|200
363 | http://m.sohu.com/c/5/|财经|200
364 | http://m.sohu.com/c/5/|财经|200
365 | http://m.sohu.com/c/5/|财经|200
366 | http://m.sohu.com/c/5/|财经|200
367 | http://m.sohu.com/c/5/|财经|200
368 | http://m.sohu.com/c/5/|财经|200
369 | http://m.sohu.com/c/5/|财经|200
370 | http://m.sohu.com/c/5/|财经|200
371 | http://m.sohu.com/c/5/|财经|200
372 | http://m.sohu.com/c/5/|财经|200
373 | http://m.sohu.com/c/5/|财经|200
374 | http://m.sohu.com/c/5/|财经|200
375 | http://m.sohu.com/c/5/|财经|200
376 | http://m.sohu.com/c/5/|财经|200
377 | http://m.sohu.com/c/5/|财经|200
378 | http://m.sohu.com/c/5/|财经|200
379 | http://m.sohu.com/c/5/|财经|200
380 | http://m.sohu.com/c/5/|财经|200
381 | http://m.sohu.com/c/5/|财经|200
382 | http://m.sohu.com/c/5/|财经|200
383 | http://m.sohu.com/c/5/|财经|200
384 | http://m.sohu.com/c/5/|财经|200
385 | http://m.sohu.com/c/5/|财经|200
386 | http://m.sohu.com/c/5/|财经|200
387 | http://m.sohu.com/c/5/|财经|200
388 | http://m.sohu.com/c/5/|财经|200
389 | http://m.sohu.com/c/5/|财经|200
390 | http://m.sohu.com/c/5/|财经|200
391 | http://m.sohu.com/c/5/|财经|200
392 | http://m.sohu.com/c/5/|财经|200
393 | http://m.sohu.com/c/5/|财经|200
394 | http://m.sohu.com/c/5/|财经|200
395 | http://m.sohu.com/c/5/|财经|200
396 | http://m.sohu.com/c/5/|财经|200
397 | http://m.sohu.com/c/5/|财经|200
398 | http://m.sohu.com/c/5/|财经|200
399 | http://m.sohu.com/c/5/|财经|200
400 | http://m.sohu.com/c/5/|财经|200
401 | http://m.sohu.com/c/5/|财经|200
402 | http://m.sohu.com/c/5/|财经|200
403 | http://m.sohu.com/c/5/|财经|200
404 | http://m.sohu.com/c/5/|财经|200
405 | http://m.sohu.com/c/5/|财经|200
406 | http://m.sohu.com/c/5/|财经|200
407 | http://m.sohu.com/c/5/|财经|200
408 | http://m.sohu.com/c/5/|财经|200
409 | http://m.sohu.com/c/5/|财经|200
410 | http://m.sohu.com/c/5/|财经|200
411 | http://m.sohu.com/c/5/|财经|200
412 | http://m.sohu.com/c/5/|财经|200
413 | http://m.sohu.com/c/5/|财经|200
414 | http://m.sohu.com/c/5/|财经|200
415 | http://m.sohu.com/c/5/|财经|200
416 | http://m.sohu.com/c/5/|财经|200
417 | http://m.sohu.com/c/5/|财经|200
418 | http://m.sohu.com/c/5/|财经|200
419 | http://m.sohu.com/c/5/|财经|200
420 | http://m.sohu.com/c/5/|财经|200
421 | http://m.sohu.com/c/5/|财经|200
422 | http://m.sohu.com/c/5/|财经|200
423 | http://m.sohu.com/c/5/|财经|200
424 | http://m.sohu.com/c/5/|财经|200
425 | http://m.sohu.com/c/5/|财经|200
426 | http://m.sohu.com/c/5/|财经|200
427 | http://m.sohu.com/c/5/|财经|200
428 | http://m.sohu.com/c/5/|财经|200
429 | http://m.sohu.com/c/5/|财经|200
430 | http://m.sohu.com/c/5/|财经|200
431 | http://m.sohu.com/c/5/|财经|200
432 | http://m.sohu.com/c/5/|财经|200
433 | http://m.sohu.com/c/5/|财经|200
434 | http://m.sohu.com/c/5/|财经|200
435 | http://m.sohu.com/c/5/|财经|200
436 | http://m.sohu.com/c/5/|财经|200
437 | http://m.sohu.com/|体育|200
438 | http://m.sohu.com/n/346620805/|信号|200
439 | http://www.baidu.com/|搜狐|200
440 | http://m.sohu.com/|体育|200
441 | http://m.sohu.com/n/346620805/|信号|200
442 | http://www.baidu.com/|搜狐|200
443 | http://m.sohu.com/|体育|200
444 | http://m.sohu.com/n/346620805/|信号|200
445 | http://www.baidu.com/|搜狐|200
446 | http://m.sohu.com/|体育|200
447 | http://m.sohu.com/n/346620805/|信号|200
448 | http://www.baidu.com/|搜狐|200
449 | http://m.sohu.com/|体育|200
450 | http://m.sohu.com/n/346620805/|信号|200
451 | http://www.baidu.com/|搜狐|200
452 | http://m.sohu.com/|体育|200
453 | http://m.sohu.com/n/346620805/|信号|200
454 | http://www.baidu.com/|搜狐|200
455 | http://m.sohu.com/|体育|200
456 | http://m.sohu.com/n/346620805/|信号|200
457 | http://www.baidu.com/|搜狐|200
458 | http://m.sohu.com/|体育|200
459 | http://m.sohu.com/n/346620805/|信号|200
460 | http://www.baidu.com/|搜狐|200
461 | http://m.sohu.com/|体育|200
462 | http://m.sohu.com/n/346620805/|信号|200
463 | http://www.baidu.com/|搜狐|200
464 | http://m.sohu.com/|体育|200
465 | http://m.sohu.com/n/346620805/|信号|200
466 | http://www.baidu.com/|搜狐|200
467 | http://m.sohu.com/|体育|200
468 | http://m.sohu.com/n/346620805/|信号|200
469 | http://www.baidu.com/|搜狐|200
470 | http://m.sohu.com/|体育|200
471 | http://m.sohu.com/n/346620805/|信号|200
472 | http://www.baidu.com/|搜狐|200
473 | http://m.sohu.com/|体育|200
474 | http://m.sohu.com/n/346620805/|信号|200
475 | http://www.baidu.com/|搜狐|200
476 | http://m.sohu.com/|体育|200
477 | http://m.sohu.com/n/346620805/|信号|200
478 | http://www.baidu.com/|搜狐|200
479 | http://m.sohu.com/|体育|200
480 | http://m.sohu.com/n/346620805/|信号|200
481 | http://www.baidu.com/|搜狐|200
482 | http://m.sohu.com/|体育|200
483 | http://m.sohu.com/n/346620805/|信号|200
484 | http://www.baidu.com/|搜狐|200
485 | http://m.sohu.com/|体育|200
486 | http://m.sohu.com/n/346620805/|信号|200
487 | http://www.baidu.com/|搜狐|200
488 | http://m.sohu.com/|体育|200
489 | http://m.sohu.com/n/346620805/|信号|200
490 | http://www.baidu.com/|搜狐|200
491 | http://m.sohu.com/|体育|200
492 | http://m.sohu.com/n/346620805/|信号|200
493 | http://www.baidu.com/|搜狐|200
494 | http://m.sohu.com/|体育|200
495 | http://m.sohu.com/n/346620805/|信号|200
496 | http://www.baidu.com/|搜狐|200
497 | http://m.sohu.com/|体育|200
498 | http://m.sohu.com/n/346620805/|信号|200
499 | http://www.baidu.com/|搜狐|200
500 | http://m.sohu.com/|体育|200
501 | http://m.sohu.com/n/346620805/|信号|200
502 | http://www.baidu.com/|搜狐|200
503 | http://m.sohu.com/|体育|200
504 | http://m.sohu.com/n/346620805/|信号|200
505 | http://www.baidu.com/|搜狐|200
506 | http://m.sohu.com/|体育|200
507 | http://m.sohu.com/n/346620805/|信号|200
508 | http://www.baidu.com/|搜狐|200
509 | http://m.sohu.com/|体育|200
510 | http://m.sohu.com/n/346620805/|信号|200
511 | http://www.baidu.com/|搜狐|200
512 | http://m.sohu.com/|体育|200
513 | http://m.sohu.com/n/346620805/|信号|200
514 | http://www.baidu.com/|搜狐|200
515 | http://m.sohu.com/|体育|200
516 | http://m.sohu.com/n/346620805/|信号|200
517 | http://www.baidu.com/|搜狐|200
518 | http://m.sohu.com/|体育|200
519 | http://m.sohu.com/n/346620805/|信号|200
520 | http://www.baidu.com/|搜狐|200
521 | http://m.sohu.com/|体育|200
522 | http://m.sohu.com/n/346620805/|信号|200
523 | http://www.baidu.com/|搜狐|200
524 | http://m.sohu.com/|体育|200
525 | http://m.sohu.com/n/346620805/|信号|200
526 | http://www.baidu.com/|搜狐|200
527 | http://m.sohu.com/|体育|200
528 | http://m.sohu.com/n/346620805/|信号|200
529 | http://www.baidu.com/|搜狐|200
530 | http://m.sohu.com/|体育|200
531 | http://m.sohu.com/n/346620805/|信号|200
532 | http://www.baidu.com/|搜狐|200
533 | http://m.sohu.com/|体育|200
534 | http://m.sohu.com/n/346620805/|信号|200
535 | http://www.baidu.com/|搜狐|200
536 | http://m.sohu.com/|体育|200
537 | http://m.sohu.com/n/346620805/|信号|200
538 | http://www.baidu.com/|搜狐|200
539 | http://m.sohu.com/|体育|200
540 | http://m.sohu.com/n/346620805/|信号|200
541 | http://www.baidu.com/|搜狐|200
542 | http://m.sohu.com/|体育|200
543 | http://m.sohu.com/n/346620805/|信号|200
544 | http://www.baidu.com/|搜狐|200
545 | http://m.sohu.com/|体育|200
546 | http://m.sohu.com/n/346620805/|信号|200
547 | http://www.baidu.com/|搜狐|200
548 | http://m.sohu.com/|体育|200
549 | http://m.sohu.com/n/346620805/|信号|200
550 | http://www.baidu.com/|搜狐|200
551 | http://m.sohu.com/|体育|200
552 | http://m.sohu.com/n/346620805/|信号|200
553 | http://www.baidu.com/|搜狐|200
554 | http://m.sohu.com/|体育|200
555 | http://m.sohu.com/n/346620805/|信号|200
556 | http://www.baidu.com/|搜狐|200
557 | http://m.sohu.com/|体育|200
558 | http://m.sohu.com/n/346620805/|信号|200
559 | http://www.baidu.com/|搜狐|200
560 | http://m.sohu.com/|体育|200
561 | http://m.sohu.com/n/346620805/|信号|200
562 | http://www.baidu.com/|搜狐|200
563 | http://m.sohu.com/|体育|200
564 | http://m.sohu.com/n/346620805/|信号|200
565 | http://www.baidu.com/|搜狐|200
566 | http://m.sohu.com/|体育|200
567 | http://m.sohu.com/n/346620805/|信号|200
568 | http://www.baidu.com/|搜狐|200
569 | http://m.sohu.com/|体育|200
570 | http://m.sohu.com/n/346620805/|信号|200
571 | http://www.baidu.com/|搜狐|200
572 | http://m.sohu.com/|体育|200
573 | http://m.sohu.com/n/346620805/|信号|200
574 | http://www.baidu.com/|搜狐|200
575 | http://m.sohu.com/|体育|200
576 | http://m.sohu.com/n/346620805/|信号|200
577 | http://www.baidu.com/|搜狐|200
578 | http://m.sohu.com/|体育|200
579 | http://m.sohu.com/n/346620805/|信号|200
580 | http://www.baidu.com/|搜狐|200
581 | http://m.sohu.com/|体育|200
582 | http://m.sohu.com/n/346620805/|信号|200
583 | http://www.baidu.com/|搜狐|200
584 | http://m.sohu.com/|体育|200
585 | http://m.sohu.com/n/346620805/|信号|200
586 | http://www.baidu.com/|搜狐|200
587 | http://m.sohu.com/|体育|200
588 | http://m.sohu.com/n/346620805/|信号|200
589 | http://www.baidu.com/|搜狐|200
590 | http://m.sohu.com/|体育|200
591 | http://m.sohu.com/n/346620805/|信号|200
592 | http://www.baidu.com/|搜狐|200
593 | http://m.sohu.com/|体育|200
594 | http://m.sohu.com/n/346620805/|信号|200
595 | http://www.baidu.com/|搜狐|200
596 | http://m.sohu.com/|体育|200
597 | http://m.sohu.com/n/346620805/|信号|200
598 | http://www.baidu.com/|搜狐|200
599 | http://m.sohu.com/|体育|200
600 | http://m.sohu.com/n/346620805/|信号|200
601 | http://www.baidu.com/|搜狐|200
602 | http://m.sohu.com/|体育|200
603 | http://m.sohu.com/n/346620805/|信号|200
604 | http://www.baidu.com/|搜狐|200
605 | http://m.sohu.com/|体育|200
606 | http://m.sohu.com/n/346620805/|信号|200
607 | http://www.baidu.com/|搜狐|200
608 | http://m.sohu.com/|体育|200
609 | http://m.sohu.com/n/346620805/|信号|200
610 | http://www.baidu.com/|搜狐|200
611 | http://m.sohu.com/|体育|200
612 | http://m.sohu.com/n/346620805/|信号|200
613 | http://www.baidu.com/|搜狐|200
614 | http://m.sohu.com/|体育|200
615 | http://m.sohu.com/n/346620805/|信号|200
616 | http://www.baidu.com/|搜狐|200
617 | http://m.sohu.com/|体育|200
618 | http://m.sohu.com/n/346620805/|信号|200
619 | http://www.baidu.com/|搜狐|200
620 | http://m.sohu.com/|体育|200
621 | http://m.sohu.com/n/346620805/|信号|200
622 | http://www.baidu.com/|搜狐|200
623 | http://m.sohu.com/|体育|200
624 | http://m.sohu.com/n/346620805/|信号|200
625 | http://www.baidu.com/|搜狐|200
626 | http://m.sohu.com/|体育|200
627 | http://m.sohu.com/n/346620805/|信号|200
628 | http://www.baidu.com/|搜狐|200
629 | http://m.sohu.com/|体育|200
630 | http://m.sohu.com/n/346620805/|信号|200
631 | http://www.baidu.com/|搜狐|200
632 | http://m.sohu.com/|体育|200
633 | http://m.sohu.com/n/346620805/|信号|200
634 | http://www.baidu.com/|搜狐|200
635 | http://m.sohu.com/|体育|200
636 | http://m.sohu.com/n/346620805/|信号|200
637 | http://www.baidu.com/|搜狐|200
638 | http://m.sohu.com/|体育|200
639 | http://m.sohu.com/n/346620805/|信号|200
640 | http://www.baidu.com/|搜狐|200
641 | http://m.sohu.com/|体育|200
642 | http://m.sohu.com/n/346620805/|信号|200
643 | http://www.baidu.com/|搜狐|200
644 | http://m.sohu.com/|体育|200
645 | http://m.sohu.com/n/346620805/|信号|200
646 | http://www.baidu.com/|搜狐|200
647 | http://m.sohu.com/|体育|200
648 | http://m.sohu.com/n/346620805/|信号|200
649 | http://www.baidu.com/|搜狐|200
650 | http://m.sohu.com/|体育|200
651 | http://m.sohu.com/n/346620805/|信号|200
652 | http://www.baidu.com/|搜狐|200
653 | http://m.sohu.com/|体育|200
654 | http://m.sohu.com/n/346620805/|信号|200
655 | http://www.baidu.com/|搜狐|200
656 | http://m.sohu.com/|体育|200
657 | http://m.sohu.com/n/346620805/|信号|200
658 | http://www.baidu.com/|搜狐|200
659 | http://m.sohu.com/|体育|200
660 | http://m.sohu.com/n/346620805/|信号|200
661 | http://www.baidu.com/|搜狐|200
662 | http://m.sohu.com/|体育|200
663 | http://m.sohu.com/n/346620805/|信号|200
664 | http://www.baidu.com/|搜狐|200
665 | http://m.sohu.com/|体育|200
666 | http://m.sohu.com/n/346620805/|信号|200
667 | http://www.baidu.com/|搜狐|200
668 | http://m.sohu.com/|体育|200
669 | http://m.sohu.com/n/346620805/|信号|200
670 | http://www.baidu.com/|搜狐|200
671 | http://m.sohu.com/|体育|200
672 | http://m.sohu.com/n/346620805/|信号|200
673 | http://www.baidu.com/|搜狐|200
674 | http://m.sohu.com/|体育|200
675 | http://m.sohu.com/n/346620805/|信号|200
676 | http://www.baidu.com/|搜狐|200
677 | http://m.sohu.com/|体育|200
678 | http://m.sohu.com/n/346620805/|信号|200
679 | http://www.baidu.com/|搜狐|200
680 | http://m.sohu.com/|体育|200
681 | http://m.sohu.com/n/346620805/|信号|200
682 | http://www.baidu.com/|搜狐|200
683 | http://m.sohu.com/|体育|200
684 | http://m.sohu.com/n/346620805/|信号|200
685 | http://www.baidu.com/|搜狐|200
686 | http://m.sohu.com/|体育|200
687 | http://m.sohu.com/n/346620805/|信号|200
688 | http://www.baidu.com/|搜狐|200
689 | http://m.sohu.com/|体育|200
690 | http://m.sohu.com/n/346620805/|信号|200
691 | http://www.baidu.com/|搜狐|200
692 | http://m.sohu.com/|体育|200
693 | http://m.sohu.com/n/346620805/|信号|200
694 | http://www.baidu.com/|搜狐|200
695 | http://m.sohu.com/|体育|200
696 | http://m.sohu.com/n/346620805/|信号|200
697 | http://www.baidu.com/|搜狐|200
698 | http://m.sohu.com/|体育|200
699 | http://m.sohu.com/n/346620805/|信号|200
700 | http://www.baidu.com/|搜狐|200
701 | http://m.sohu.com/|体育|200
702 | http://m.sohu.com/n/346620805/|信号|200
703 | http://www.baidu.com/|搜狐|200
704 | http://m.sohu.com/|体育|200
705 | http://m.sohu.com/n/346620805/|信号|200
706 | http://www.baidu.com/|搜狐|200
707 | http://m.sohu.com/|体育|200
708 | http://m.sohu.com/n/346620805/|信号|200
709 | http://www.baidu.com/|搜狐|200
710 | http://m.sohu.com/|体育|200
711 | http://m.sohu.com/n/346620805/|信号|200
712 | http://www.baidu.com/|搜狐|200
713 | http://m.sohu.com/|体育|200
714 | http://m.sohu.com/n/346620805/|信号|200
715 | http://www.baidu.com/|搜狐|200
716 | http://m.sohu.com/|体育|200
717 | http://m.sohu.com/n/346620805/|信号|200
718 | http://www.baidu.com/|搜狐|200
719 | http://m.sohu.com/|体育|200
720 | http://m.sohu.com/n/346620805/|信号|200
721 | http://www.baidu.com/|搜狐|200
722 | http://m.sohu.com/|体育|200
723 | http://m.sohu.com/n/346620805/|信号|200
724 | http://www.baidu.com/|搜狐|200
725 | http://m.sohu.com/|体育|200
726 | http://m.sohu.com/n/346620805/|信号|200
727 | http://www.baidu.com/|搜狐|200
728 | http://m.sohu.com/|体育|200
729 | http://m.sohu.com/n/346620805/|信号|200
730 | http://www.baidu.com/|搜狐|200
731 | http://m.sohu.com/|体育|200
732 | http://m.sohu.com/n/346620805/|信号|200
733 | http://www.baidu.com/|搜狐|200
734 | http://m.sohu.com/|体育|200
735 | http://m.sohu.com/n/346620805/|信号|200
736 | http://www.baidu.com/|搜狐|200
737 | http://m.sohu.com/|体育|200
738 | http://m.sohu.com/n/346620805/|信号|200
739 | http://www.baidu.com/|搜狐|200
740 | http://m.sohu.com/|体育|200
741 | http://m.sohu.com/n/346620805/|信号|200
742 | http://www.baidu.com/|搜狐|200
743 | http://m.sohu.com/|体育|200
744 | http://m.sohu.com/n/346620805/|信号|200
745 | http://www.baidu.com/|搜狐|200
746 | http://m.sohu.com/|体育|200
747 | http://m.sohu.com/n/346620805/|信号|200
748 | http://www.baidu.com/|搜狐|200
749 | http://m.sohu.com/|体育|200
750 | http://m.sohu.com/n/346620805/|信号|200
751 | http://www.baidu.com/|搜狐|200
752 | http://m.sohu.com/|体育|200
753 | http://m.sohu.com/n/346620805/|信号|200
754 | http://www.baidu.com/|搜狐|200
755 | http://m.sohu.com/|体育|200
756 | http://m.sohu.com/n/346620805/|信号|200
757 | http://www.baidu.com/|搜狐|200
758 | http://m.sohu.com/|体育|200
759 | http://m.sohu.com/n/346620805/|信号|200
760 | http://www.baidu.com/|搜狐|200
761 | http://m.sohu.com/|体育|200
762 | http://m.sohu.com/n/346620805/|信号|200
763 | http://www.baidu.com/|搜狐|200
764 | http://m.sohu.com/|体育|200
765 | http://m.sohu.com/n/346620805/|信号|200
766 | http://www.baidu.com/|搜狐|200
767 | http://m.sohu.com/|体育|200
768 | http://m.sohu.com/n/346620805/|信号|200
769 | http://www.baidu.com/|搜狐|200
770 | http://m.sohu.com/|体育|200
771 | http://m.sohu.com/n/346620805/|信号|200
772 | http://www.baidu.com/|搜狐|200
773 | http://m.sohu.com/|体育|200
774 | http://m.sohu.com/n/346620805/|信号|200
775 | http://www.baidu.com/|搜狐|200
776 | http://m.sohu.com/|体育|200
777 | http://m.sohu.com/n/346620805/|信号|200
778 | http://www.baidu.com/|搜狐|200
779 | http://m.sohu.com/|体育|200
780 | http://m.sohu.com/n/346620805/|信号|200
781 | http://www.baidu.com/|搜狐|200
782 | http://m.sohu.com/|体育|200
783 | http://m.sohu.com/n/346620805/|信号|200
784 | http://www.baidu.com/|搜狐|200
785 | http://m.sohu.com/|体育|200
786 | http://m.sohu.com/n/346620805/|信号|200
787 | http://www.baidu.com/|搜狐|200
788 | http://m.sohu.com/|体育|200
789 | http://m.sohu.com/n/346620805/|信号|200
790 | http://www.baidu.com/|搜狐|200
791 | http://m.sohu.com/|体育|200
792 | http://m.sohu.com/n/346620805/|信号|200
793 | http://www.baidu.com/|搜狐|200
794 | http://m.sohu.com/|体育|200
795 | http://m.sohu.com/n/346620805/|信号|200
796 | http://www.baidu.com/|搜狐|200
797 | http://m.sohu.com/|体育|200
798 | http://m.sohu.com/n/346620805/|信号|200
799 | http://www.baidu.com/|搜狐|200
800 | http://m.sohu.com/|体育|200
801 | http://m.sohu.com/n/346620805/|信号|200
802 | http://www.baidu.com/|搜狐|200
803 | http://m.sohu.com/|体育|200
804 | http://m.sohu.com/n/346620805/|信号|200
805 | http://www.baidu.com/|搜狐|200
806 | http://m.sohu.com/|体育|200
807 | http://m.sohu.com/n/346620805/|信号|200
808 | http://www.baidu.com/|搜狐|200
809 | http://m.sohu.com/|体育|200
810 | http://m.sohu.com/n/346620805/|信号|200
811 | http://www.baidu.com/|搜狐|200
812 | http://m.sohu.com/|体育|200
813 | http://m.sohu.com/n/346620805/|信号|200
814 | http://www.baidu.com/|搜狐|200
815 | http://m.sohu.com/|体育|200
816 | http://m.sohu.com/n/346620805/|信号|200
817 | http://www.baidu.com/|搜狐|200
818 | http://m.sohu.com/|体育|200
819 | http://m.sohu.com/n/346620805/|信号|200
820 | http://www.baidu.com/|搜狐|200
821 | http://m.sohu.com/|体育|200
822 | http://m.sohu.com/n/346620805/|信号|200
823 | http://www.baidu.com/|搜狐|200
824 | http://m.sohu.com/|体育|200
825 | http://m.sohu.com/n/346620805/|信号|200
826 | http://www.baidu.com/|搜狐|200
827 | http://m.sohu.com/|体育|200
828 | http://m.sohu.com/n/346620805/|信号|200
829 | http://www.baidu.com/|搜狐|200
830 | http://m.sohu.com/|体育|200
831 | http://m.sohu.com/n/346620805/|信号|200
832 | http://www.baidu.com/|搜狐|200
833 | http://m.sohu.com/|体育|200
834 | http://m.sohu.com/n/346620805/|信号|200
835 | http://www.baidu.com/|搜狐|200
836 | http://m.sohu.com/|体育|200
837 | http://m.sohu.com/n/346620805/|信号|200
838 | http://www.baidu.com/|搜狐|200
839 | http://m.sohu.com/|体育|200
840 | http://m.sohu.com/n/346620805/|信号|200
841 | http://www.baidu.com/|搜狐|200
842 | http://m.sohu.com/|体育|200
843 | http://m.sohu.com/n/346620805/|信号|200
844 | http://www.baidu.com/|搜狐|200
845 | http://m.sohu.com/|体育|200
846 | http://m.sohu.com/n/346620805/|信号|200
847 | http://www.baidu.com/|搜狐|200
848 | http://m.sohu.com/|体育|200
849 | http://m.sohu.com/n/346620805/|信号|200
850 | http://www.baidu.com/|搜狐|200
851 | http://m.sohu.com/|体育|200
852 | http://m.sohu.com/n/346620805/|信号|200
853 | http://www.baidu.com/|搜狐|200
854 | http://m.sohu.com/|体育|200
855 | http://m.sohu.com/n/346620805/|信号|200
856 | http://www.baidu.com/|搜狐|200
857 | http://m.sohu.com/|体育|200
858 | http://m.sohu.com/n/346620805/|信号|200
859 | http://www.baidu.com/|搜狐|200
860 | http://m.sohu.com/|体育|200
861 | http://m.sohu.com/n/346620805/|信号|200
862 | http://www.baidu.com/|搜狐|200
863 | http://m.sohu.com/|体育|200
864 | http://m.sohu.com/n/346620805/|信号|200
865 | http://www.baidu.com/|搜狐|200
866 | http://m.sohu.com/|体育|200
867 | http://m.sohu.com/n/346620805/|信号|200
868 | http://www.baidu.com/|搜狐|200
869 | http://m.sohu.com/|体育|200
870 | http://m.sohu.com/n/346620805/|信号|200
871 | http://www.baidu.com/|搜狐|200
872 | http://m.sohu.com/|体育|200
873 | http://m.sohu.com/n/346620805/|信号|200
874 | http://www.baidu.com/|搜狐|200
875 | http://m.sohu.com/|体育|200
876 | http://m.sohu.com/n/346620805/|信号|200
877 | http://www.baidu.com/|搜狐|200
878 | http://m.sohu.com/|体育|200
879 | http://m.sohu.com/n/346620805/|信号|200
880 | http://www.baidu.com/|搜狐|200
881 | http://m.sohu.com/|体育|200
882 | http://m.sohu.com/n/346620805/|信号|200
883 | http://www.baidu.com/|搜狐|200
884 | http://m.sohu.com/|体育|200
885 | http://m.sohu.com/n/346620805/|信号|200
886 | http://www.baidu.com/|搜狐|200
887 | http://m.sohu.com/|体育|200
888 | http://m.sohu.com/n/346620805/|信号|200
889 | http://www.baidu.com/|搜狐|200
890 | http://m.sohu.com/|体育|200
891 | http://m.sohu.com/n/346620805/|信号|200
892 | http://www.baidu.com/|搜狐|200
893 | http://m.sohu.com/|体育|200
894 | http://m.sohu.com/n/346620805/|信号|200
895 | http://www.baidu.com/|搜狐|200
896 | http://m.sohu.com/|体育|200
897 | http://m.sohu.com/n/346620805/|信号|200
898 | http://www.baidu.com/|搜狐|200
899 | http://m.sohu.com/|体育|200
900 | http://m.sohu.com/n/346620805/|信号|200
901 | http://www.baidu.com/|搜狐|200
902 | http://m.sohu.com/|体育|200
903 | http://m.sohu.com/n/346620805/|信号|200
904 | http://www.baidu.com/|搜狐|200
905 | http://m.sohu.com/|体育|200
906 | http://m.sohu.com/n/346620805/|信号|200
907 | http://www.baidu.com/|搜狐|200
908 | http://m.sohu.com/|体育|200
909 | http://m.sohu.com/n/346620805/|信号|200
910 | http://www.baidu.com/|搜狐|200
911 | http://m.sohu.com/|体育|200
912 | http://m.sohu.com/n/346620805/|信号|200
913 | http://www.baidu.com/|搜狐|200
914 | http://m.sohu.com/|体育|200
915 | http://m.sohu.com/n/346620805/|信号|200
916 | http://www.baidu.com/|搜狐|200
917 | http://m.sohu.com/|体育|200
918 | http://m.sohu.com/n/346620805/|信号|200
919 | http://www.baidu.com/|搜狐|200
920 | http://m.sohu.com/|体育|200
921 | http://m.sohu.com/n/346620805/|信号|200
922 | http://www.baidu.com/|搜狐|200
923 | http://m.sohu.com/|体育|200
924 | http://m.sohu.com/n/346620805/|信号|200
925 | http://www.baidu.com/|搜狐|200
926 | http://m.sohu.com/|体育|200
927 | http://m.sohu.com/n/346620805/|信号|200
928 | http://www.baidu.com/|搜狐|200
929 | http://m.sohu.com/|体育|200
930 | http://m.sohu.com/n/346620805/|信号|200
931 | http://www.baidu.com/|搜狐|200
932 | http://m.sohu.com/|体育|200
933 | http://m.sohu.com/n/346620805/|信号|200
934 | http://www.baidu.com/|搜狐|200
935 | http://m.sohu.com/|体育|200
936 | http://m.sohu.com/n/346620805/|信号|200
937 | http://www.baidu.com/|搜狐|200
938 | http://m.sohu.com/|体育|200
939 | http://m.sohu.com/n/346620805/|信号|200
940 | http://www.baidu.com/|搜狐|200
941 | http://m.sohu.com/|体育|200
942 | http://m.sohu.com/n/346620805/|信号|200
943 | http://www.baidu.com/|搜狐|200
944 | http://m.sohu.com/|体育|200
945 | http://m.sohu.com/n/346620805/|信号|200
946 | http://www.baidu.com/|搜狐|200
947 | http://m.sohu.com/|体育|200
948 | http://m.sohu.com/n/346620805/|信号|200
949 | http://www.baidu.com/|搜狐|200
950 | http://m.sohu.com/|体育|200
951 | http://m.sohu.com/n/346620805/|信号|200
952 | http://www.baidu.com/|搜狐|200
953 | http://m.sohu.com/|体育|200
954 | http://m.sohu.com/n/346620805/|信号|200
955 | http://www.baidu.com/|搜狐|200
956 | http://m.sohu.com/|体育|200
957 | http://m.sohu.com/n/346620805/|信号|200
958 | http://www.baidu.com/|搜狐|200
959 | http://m.sohu.com/|体育|200
960 | http://m.sohu.com/n/346620805/|信号|200
961 | http://www.baidu.com/|搜狐|200
962 | http://m.sohu.com/|体育|200
963 | http://m.sohu.com/n/346620805/|信号|200
964 | http://www.baidu.com/|搜狐|200
965 | http://m.sohu.com/|体育|200
966 | http://m.sohu.com/n/346620805/|信号|200
967 | http://www.baidu.com/|搜狐|200
968 | http://m.sohu.com/|体育|200
969 | http://m.sohu.com/n/346620805/|信号|200
970 | http://www.baidu.com/|搜狐|200
971 | http://m.sohu.com/|体育|200
972 | http://m.sohu.com/n/346620805/|信号|200
973 | http://www.baidu.com/|搜狐|200
974 | http://m.sohu.com/|体育|200
975 | http://m.sohu.com/n/346620805/|信号|200
976 | http://www.baidu.com/|搜狐|200
977 | http://m.sohu.com/|体育|200
978 | http://m.sohu.com/n/346620805/|信号|200
979 | http://www.baidu.com/|搜狐|200
980 | http://m.sohu.com/|体育|200
981 | http://m.sohu.com/n/346620805/|信号|200
982 | http://www.baidu.com/|搜狐|200
983 | http://m.sohu.com/|体育|200
984 | http://m.sohu.com/n/346620805/|信号|200
985 | http://www.baidu.com/|搜狐|200
986 | http://m.sohu.com/|体育|200
987 | http://m.sohu.com/n/346620805/|信号|200
988 | http://www.baidu.com/|搜狐|200
989 | http://m.sohu.com/|体育|200
990 | http://m.sohu.com/n/346620805/|信号|200
991 | http://www.baidu.com/|搜狐|200
992 | http://m.sohu.com/|体育|200
993 | http://m.sohu.com/n/346620805/|信号|200
994 | http://www.baidu.com/|搜狐|200
995 | http://m.sohu.com/|体育|200
996 | http://m.sohu.com/n/346620805/|信号|200
997 | http://www.baidu.com/|搜狐|200
998 | http://m.sohu.com/|体育|200
999 | http://m.sohu.com/n/346620805/|信号|200
1000 | http://www.baidu.com/|搜狐|200
1001 | http://m.sohu.com/|体育|200
1002 | http://m.sohu.com/n/346620805/|信号|200
1003 | http://www.baidu.com/|搜狐|200
1004 | http://m.sohu.com/|体育|200
1005 | http://m.sohu.com/n/346620805/|信号|200
1006 | http://www.baidu.com/|搜狐|200
1007 | http://m.sohu.com/|体育|200
1008 | http://m.sohu.com/n/346620805/|信号|200
1009 | http://www.baidu.com/|搜狐|200
1010 | http://m.sohu.com/|体育|200
1011 | http://m.sohu.com/n/346620805/|信号|200
1012 | http://www.baidu.com/|搜狐|200
1013 | http://m.sohu.com/|体育|200
1014 | http://m.sohu.com/n/346620805/|信号|200
1015 | http://www.baidu.com/|搜狐|200
1016 | http://m.sohu.com/|体育|200
1017 | http://m.sohu.com/n/346620805/|信号|200
1018 | http://www.baidu.com/|搜狐|200
1019 | http://m.sohu.com/|体育|200
1020 | http://m.sohu.com/n/346620805/|信号|200
1021 | http://www.baidu.com/|搜狐|200
1022 | http://m.sohu.com/|体育|200
1023 | http://m.sohu.com/n/346620805/|信号|200
1024 | http://www.baidu.com/|搜狐|200
1025 | http://m.sohu.com/|体育|200
1026 | http://m.sohu.com/n/346620805/|信号|200
1027 | http://www.baidu.com/|搜狐|200
1028 | http://m.sohu.com/|体育|200
1029 | http://m.sohu.com/n/346620805/|信号|200
1030 | http://www.baidu.com/|搜狐|200
1031 | http://m.sohu.com/|体育|200
1032 | http://m.sohu.com/n/346620805/|信号|200
1033 | http://www.baidu.com/|搜狐|200
1034 | http://m.sohu.com/|体育|200
1035 | http://m.sohu.com/n/346620805/|信号|200
1036 | http://www.baidu.com/|搜狐|200
1037 | http://m.sohu.com/|体育|200
1038 | http://m.sohu.com/n/346620805/|信号|200
1039 | http://www.baidu.com/|搜狐|200
1040 | http://m.sohu.com/|体育|200
1041 | http://m.sohu.com/n/346620805/|信号|200
1042 | http://www.baidu.com/|搜狐|200
1043 | http://m.sohu.com/|体育|200
1044 | http://m.sohu.com/n/346620805/|信号|200
1045 | http://www.baidu.com/|搜狐|200
1046 | http://m.sohu.com/|体育|200
1047 | http://m.sohu.com/n/346620805/|信号|200
1048 | http://www.baidu.com/|搜狐|200
1049 | http://m.sohu.com/|体育|200
1050 | http://m.sohu.com/n/346620805/|信号|200
1051 | http://www.baidu.com/|搜狐|200
1052 | http://m.sohu.com/|体育|200
1053 | http://m.sohu.com/n/346620805/|信号|200
1054 | http://www.baidu.com/|搜狐|200
1055 | http://m.sohu.com/|体育|200
1056 | http://m.sohu.com/n/346620805/|信号|200
1057 | http://www.baidu.com/|搜狐|200
1058 | http://m.sohu.com/|体育|200
1059 | http://m.sohu.com/n/346620805/|信号|200
1060 | http://www.baidu.com/|搜狐|200
1061 | http://m.sohu.com/|体育|200
1062 | http://m.sohu.com/n/346620805/|信号|200
1063 | http://www.baidu.com/|搜狐|200
1064 | http://m.sohu.com/|体育|200
1065 | http://m.sohu.com/n/346620805/|信号|200
1066 | http://www.baidu.com/|搜狐|200
1067 | http://m.sohu.com/|体育|200
1068 | http://m.sohu.com/n/346620805/|信号|200
1069 | http://www.baidu.com/|搜狐|200
1070 | http://m.sohu.com/|体育|200
1071 | http://m.sohu.com/n/346620805/|信号|200
1072 | http://www.baidu.com/|搜狐|200
1073 | http://m.sohu.com/|体育|200
1074 | http://m.sohu.com/n/346620805/|信号|200
1075 | http://www.baidu.com/|搜狐|200
1076 | http://m.sohu.com/|体育|200
1077 | http://m.sohu.com/n/346620805/|信号|200
1078 | http://www.baidu.com/|搜狐|200
1079 | http://m.sohu.com/|体育|200
1080 | http://m.sohu.com/n/346620805/|信号|200
1081 | http://www.baidu.com/|搜狐|200
1082 | http://m.sohu.com/|体育|200
1083 | http://m.sohu.com/n/346620805/|信号|200
1084 | http://www.baidu.com/|搜狐|200
1085 | http://m.sohu.com/|体育|200
1086 | http://m.sohu.com/n/346620805/|信号|200
1087 | http://www.baidu.com/|搜狐|200
1088 | http://m.sohu.com/|体育|200
1089 | http://m.sohu.com/n/346620805/|信号|200
1090 | http://www.baidu.com/|搜狐|200
1091 | http://m.sohu.com/|体育|200
1092 | http://m.sohu.com/n/346620805/|信号|200
1093 | http://www.baidu.com/|搜狐|200
1094 | http://m.sohu.com/|体育|200
1095 | http://m.sohu.com/n/346620805/|信号|200
1096 | http://www.baidu.com/|搜狐|200
1097 | http://m.sohu.com/|体育|200
1098 | http://m.sohu.com/n/346620805/|信号|200
1099 | http://www.baidu.com/|搜狐|200
1100 | http://m.sohu.com/|体育|200
1101 | http://m.sohu.com/n/346620805/|信号|200
1102 | http://www.baidu.com/|搜狐|200
1103 | http://m.sohu.com/|体育|200
1104 | http://m.sohu.com/n/346620805/|信号|200
1105 | http://www.baidu.com/|搜狐|200
1106 | http://m.sohu.com/|体育|200
1107 | http://m.sohu.com/n/346620805/|信号|200
1108 | http://www.baidu.com/|搜狐|200
1109 | http://m.sohu.com/|体育|200
1110 | http://m.sohu.com/n/346620805/|信号|200
1111 | http://www.baidu.com/|搜狐|200
1112 | http://m.sohu.com/|体育|200
1113 | http://m.sohu.com/n/346620805/|信号|200
1114 | http://www.baidu.com/|搜狐|200
1115 | http://m.sohu.com/|体育|200
1116 | http://m.sohu.com/n/346620805/|信号|200
1117 | http://www.baidu.com/|搜狐|200
1118 | http://m.sohu.com/|体育|200
1119 | http://m.sohu.com/n/346620805/|信号|200
1120 | http://www.baidu.com/|搜狐|200
1121 | http://m.sohu.com/|体育|200
1122 | http://m.sohu.com/n/346620805/|信号|200
1123 | http://www.baidu.com/|搜狐|200
1124 | http://m.sohu.com/|体育|200
1125 | http://m.sohu.com/n/346620805/|信号|200
1126 | http://www.baidu.com/|搜狐|200
1127 | http://m.sohu.com/|体育|200
1128 | http://m.sohu.com/n/346620805/|信号|200
1129 | http://www.baidu.com/|搜狐|200
1130 | http://m.sohu.com/|体育|200
1131 | http://m.sohu.com/n/346620805/|信号|200
1132 | http://www.baidu.com/|搜狐|200
1133 | http://m.sohu.com/|体育|200
1134 | http://m.sohu.com/n/346620805/|信号|200
1135 | http://www.baidu.com/|搜狐|200
1136 | http://m.sohu.com/|体育|200
1137 | http://m.sohu.com/n/346620805/|信号|200
1138 | http://www.baidu.com/|搜狐|200
1139 | http://m.sohu.com/|体育|200
1140 | http://m.sohu.com/n/346620805/|信号|200
1141 | http://www.baidu.com/|搜狐|200
1142 | http://m.sohu.com/|体育|200
1143 | http://m.sohu.com/n/346620805/|信号|200
1144 | http://www.baidu.com/|搜狐|200
1145 | http://m.sohu.com/|体育|200
1146 | http://m.sohu.com/n/346620805/|信号|200
1147 | http://www.baidu.com/|搜狐|200
1148 | http://m.sohu.com/|体育|200
1149 | http://m.sohu.com/n/346620805/|信号|200
1150 | http://www.baidu.com/|搜狐|200
1151 | http://m.sohu.com/|体育|200
1152 | http://m.sohu.com/n/346620805/|信号|200
1153 | http://www.baidu.com/|搜狐|200
1154 | http://m.sohu.com/|体育|200
1155 | http://m.sohu.com/n/346620805/|信号|200
1156 | http://www.baidu.com/|搜狐|200
1157 | http://m.sohu.com/|体育|200
1158 | http://m.sohu.com/n/346620805/|信号|200
1159 | http://www.baidu.com/|搜狐|200
1160 | http://m.sohu.com/|体育|200
1161 | http://m.sohu.com/n/346620805/|信号|200
1162 | http://www.baidu.com/|搜狐|200
1163 | http://m.sohu.com/|体育|200
1164 | http://m.sohu.com/n/346620805/|信号|200
1165 | http://www.baidu.com/|搜狐|200
1166 | http://m.sohu.com/|体育|200
1167 | http://m.sohu.com/n/346620805/|信号|200
1168 | http://www.baidu.com/|搜狐|200
1169 | http://m.sohu.com/|体育|200
1170 | http://m.sohu.com/n/346620805/|信号|200
1171 | http://www.baidu.com/|搜狐|200
1172 | http://m.sohu.com/|体育|200
1173 | http://m.sohu.com/n/346620805/|信号|200
1174 | http://www.baidu.com/|搜狐|200
1175 | http://m.sohu.com/|体育|200
1176 | http://m.sohu.com/n/346620805/|信号|200
1177 | http://www.baidu.com/|搜狐|200
1178 | http://m.sohu.com/|体育|200
1179 | http://m.sohu.com/n/346620805/|信号|200
1180 | http://www.baidu.com/|搜狐|200
1181 | http://m.sohu.com/|体育|200
1182 | http://m.sohu.com/n/346620805/|信号|200
1183 | http://www.baidu.com/|搜狐|200
1184 | http://m.sohu.com/|体育|200
1185 | http://m.sohu.com/n/346620805/|信号|200
1186 | http://www.baidu.com/|搜狐|200
1187 | http://m.sohu.com/|体育|200
1188 | http://m.sohu.com/n/346620805/|信号|200
1189 | http://www.baidu.com/|搜狐|200
1190 | http://m.sohu.com/|体育|200
1191 | http://m.sohu.com/n/346620805/|信号|200
1192 | http://www.baidu.com/|搜狐|200
1193 | http://m.sohu.com/|体育|200
1194 | http://m.sohu.com/n/346620805/|信号|200
1195 | http://www.baidu.com/|搜狐|200
1196 | http://m.sohu.com/|体育|200
1197 | http://m.sohu.com/n/346620805/|信号|200
1198 | http://www.baidu.com/|搜狐|200
1199 | http://m.sohu.com/|体育|200
1200 | http://m.sohu.com/n/346620805/|信号|200
1201 | http://www.baidu.com/|搜狐|200
1202 | http://m.sohu.com/|体育|200
1203 | http://m.sohu.com/n/346620805/|信号|200
1204 | http://www.baidu.com/|搜狐|200
1205 | http://m.sohu.com/|体育|200
1206 | http://m.sohu.com/n/346620805/|信号|200
1207 | http://www.baidu.com/|搜狐|200
1208 | http://m.sohu.com/|体育|200
1209 | http://m.sohu.com/n/346620805/|信号|200
1210 | http://www.baidu.com/|搜狐|200
1211 | http://m.sohu.com/|体育|200
1212 | http://m.sohu.com/n/346620805/|信号|200
1213 | http://www.baidu.com/|搜狐|200
1214 | http://m.sohu.com/|体育|200
1215 | http://m.sohu.com/n/346620805/|信号|200
1216 | http://www.baidu.com/|搜狐|200
1217 | http://m.sohu.com/|体育|200
1218 | http://m.sohu.com/n/346620805/|信号|200
1219 | http://www.baidu.com/|搜狐|200
1220 | http://m.sohu.com/|体育|200
1221 | http://m.sohu.com/n/346620805/|信号|200
1222 | http://www.baidu.com/|搜狐|200
1223 | http://m.sohu.com/|体育|200
1224 | http://m.sohu.com/n/346620805/|信号|200
1225 | http://www.baidu.com/|搜狐|200
1226 | http://m.sohu.com/|体育|200
1227 | http://m.sohu.com/n/346620805/|信号|200
1228 | http://www.baidu.com/|搜狐|200
1229 | http://m.sohu.com/|体育|200
1230 | http://m.sohu.com/n/346620805/|信号|200
1231 | http://www.baidu.com/|搜狐|200
1232 | http://m.sohu.com/|体育|200
1233 | http://m.sohu.com/n/346620805/|信号|200
1234 | http://www.baidu.com/|搜狐|200
1235 | http://m.sohu.com/|体育|200
1236 | http://m.sohu.com/n/346620805/|信号|200
1237 | http://www.baidu.com/|搜狐|200
1238 | http://m.sohu.com/|体育|200
1239 | http://m.sohu.com/n/346620805/|信号|200
1240 | http://www.baidu.com/|搜狐|200
1241 | http://m.sohu.com/|体育|200
1242 | http://m.sohu.com/n/346620805/|信号|200
1243 | http://www.baidu.com/|搜狐|200
1244 | http://m.sohu.com/|体育|200
1245 | http://m.sohu.com/n/346620805/|信号|200
1246 | http://www.baidu.com/|搜狐|200
1247 | http://m.sohu.com/|体育|200
1248 | http://m.sohu.com/n/346620805/|信号|200
1249 | http://www.baidu.com/|搜狐|200
1250 | http://m.sohu.com/|体育|200
1251 | http://m.sohu.com/n/346620805/|信号|200
1252 | http://www.baidu.com/|搜狐|200
1253 | http://m.sohu.com/|体育|200
1254 | http://m.sohu.com/n/346620805/|信号|200
1255 | http://www.baidu.com/|搜狐|200
1256 | http://m.sohu.com/|体育|200
1257 | http://m.sohu.com/n/346620805/|信号|200
1258 | http://www.baidu.com/|搜狐|200
1259 | http://m.sohu.com/|体育|200
1260 | http://m.sohu.com/n/346620805/|信号|200
1261 | http://www.baidu.com/|搜狐|200
1262 | http://m.sohu.com/|体育|200
1263 | http://m.sohu.com/n/346620805/|信号|200
1264 | http://www.baidu.com/|搜狐|200
1265 | http://m.sohu.com/|体育|200
1266 | http://m.sohu.com/n/346620805/|信号|200
1267 | http://www.baidu.com/|搜狐|200
1268 | http://m.sohu.com/|体育|200
1269 | http://m.sohu.com/n/346620805/|信号|200
1270 | http://www.baidu.com/|搜狐|200
1271 | http://m.sohu.com/|体育|200
1272 | http://m.sohu.com/n/346620805/|信号|200
1273 | http://www.baidu.com/|搜狐|200
1274 | http://m.sohu.com/|体育|200
1275 | http://m.sohu.com/n/346620805/|信号|200
1276 | http://www.baidu.com/|搜狐|200
1277 | http://m.sohu.com/|体育|200
1278 | http://m.sohu.com/n/346620805/|信号|200
1279 | http://www.baidu.com/|搜狐|200
1280 | http://m.sohu.com/|体育|200
1281 | http://m.sohu.com/n/346620805/|信号|200
1282 | http://www.baidu.com/|搜狐|200
1283 | http://m.sohu.com/|体育|200
1284 | http://m.sohu.com/n/346620805/|信号|200
1285 | http://www.baidu.com/|搜狐|200
1286 | http://m.sohu.com/|体育|200
1287 | http://m.sohu.com/n/346620805/|信号|200
1288 | http://www.baidu.com/|搜狐|200
1289 | http://m.sohu.com/|体育|200
1290 | http://m.sohu.com/n/346620805/|信号|200
1291 | http://www.baidu.com/|搜狐|200
1292 | http://m.sohu.com/|体育|200
1293 | http://m.sohu.com/n/346620805/|信号|200
1294 | http://www.baidu.com/|搜狐|200
1295 | http://m.sohu.com/|体育|200
1296 | http://m.sohu.com/n/346620805/|信号|200
1297 | http://www.baidu.com/|搜狐|200
1298 | http://m.sohu.com/|体育|200
1299 | http://m.sohu.com/n/346620805/|信号|200
1300 | http://www.baidu.com/|搜狐|200
1301 | http://m.sohu.com/|体育|200
1302 | http://m.sohu.com/n/346620805/|信号|200
1303 | http://www.baidu.com/|搜狐|200
1304 | http://m.sohu.com/|体育|200
1305 | http://m.sohu.com/n/346620805/|信号|200
1306 | http://www.baidu.com/|搜狐|200
1307 | http://m.sohu.com/|体育|200
1308 | http://m.sohu.com/n/346620805/|信号|200
1309 | http://www.baidu.com/|搜狐|200
1310 | http://m.sohu.com/|体育|200
1311 | http://m.sohu.com/n/346620805/|信号|200
1312 | http://www.baidu.com/|搜狐|200
1313 | http://m.sohu.com/|体育|200
1314 | http://m.sohu.com/n/346620805/|信号|200
1315 | http://www.baidu.com/|搜狐|200
1316 | http://m.sohu.com/|体育|200
1317 | http://m.sohu.com/n/346620805/|信号|200
1318 | http://www.baidu.com/|搜狐|200
1319 | http://m.sohu.com/|体育|200
1320 | http://m.sohu.com/n/346620805/|信号|200
1321 | http://www.baidu.com/|搜狐|200
1322 | http://m.sohu.com/|体育|200
1323 | http://m.sohu.com/n/346620805/|信号|200
1324 | http://www.baidu.com/|搜狐|200
1325 | http://m.sohu.com/|体育|200
1326 | http://m.sohu.com/n/346620805/|信号|200
1327 | http://www.baidu.com/|搜狐|200
1328 | http://m.sohu.com/|体育|200
1329 | http://m.sohu.com/n/346620805/|信号|200
1330 | http://www.baidu.com/|搜狐|200
1331 | http://m.sohu.com/|体育|200
1332 | http://m.sohu.com/n/346620805/|信号|200
1333 | http://www.baidu.com/|搜狐|200
1334 | http://m.sohu.com/|体育|200
1335 | http://m.sohu.com/n/346620805/|信号|200
1336 | http://www.baidu.com/|搜狐|200
1337 | http://m.sohu.com/|体育|200
1338 | http://m.sohu.com/n/346620805/|信号|200
1339 | http://www.baidu.com/|搜狐|200
1340 | http://m.sohu.com/|体育|200
1341 | http://m.sohu.com/n/346620805/|信号|200
1342 | http://www.baidu.com/|搜狐|200
1343 | http://m.sohu.com/|体育|200
1344 | http://m.sohu.com/n/346620805/|信号|200
1345 | http://www.baidu.com/|搜狐|200
1346 | http://m.sohu.com/|体育|200
1347 | http://m.sohu.com/n/346620805/|信号|200
1348 | http://www.baidu.com/|搜狐|200
1349 | http://m.sohu.com/|体育|200
1350 | http://m.sohu.com/n/346620805/|信号|200
1351 | http://www.baidu.com/|搜狐|200
1352 | http://m.sohu.com/|体育|200
1353 | http://m.sohu.com/n/346620805/|信号|200
1354 | http://www.baidu.com/|搜狐|200
1355 | http://m.sohu.com/|体育|200
1356 | http://m.sohu.com/n/346620805/|信号|200
1357 | http://www.baidu.com/|搜狐|200
1358 | http://m.sohu.com/|体育|200
1359 | http://m.sohu.com/n/346620805/|信号|200
1360 | http://www.baidu.com/|搜狐|200
1361 | http://m.sohu.com/|体育|200
1362 | http://m.sohu.com/n/346620805/|信号|200
1363 | http://www.baidu.com/|搜狐|200
1364 | http://m.sohu.com/|体育|200
1365 | http://m.sohu.com/n/346620805/|信号|200
1366 | http://www.baidu.com/|搜狐|200
1367 | http://m.sohu.com/|体育|200
1368 | http://m.sohu.com/n/346620805/|信号|200
1369 | http://www.baidu.com/|搜狐|200
1370 | http://m.sohu.com/|体育|200
1371 | http://m.sohu.com/n/346620805/|信号|200
1372 | http://www.baidu.com/|搜狐|200
1373 | http://m.sohu.com/|体育|200
1374 | http://m.sohu.com/n/346620805/|信号|200
1375 | http://www.baidu.com/|搜狐|200
1376 | http://m.sohu.com/|体育|200
1377 | http://m.sohu.com/n/346620805/|信号|200
1378 | http://www.baidu.com/|搜狐|200
1379 | http://m.sohu.com/|体育|200
1380 | http://m.sohu.com/n/346620805/|信号|200
1381 | http://www.baidu.com/|搜狐|200
1382 | http://m.sohu.com/|体育|200
1383 | http://m.sohu.com/n/346620805/|信号|200
1384 | http://www.baidu.com/|搜狐|200
1385 | http://m.sohu.com/|体育|200
1386 | http://m.sohu.com/n/346620805/|信号|200
1387 | http://www.baidu.com/|搜狐|200
1388 | http://m.sohu.com/|体育|200
1389 | http://m.sohu.com/n/346620805/|信号|200
1390 | http://www.baidu.com/|搜狐|200
1391 | http://m.sohu.com/|体育|200
1392 | http://m.sohu.com/n/346620805/|信号|200
1393 | http://www.baidu.com/|搜狐|200
1394 | http://m.sohu.com/|体育|200
1395 | http://m.sohu.com/n/346620805/|信号|200
1396 | http://www.baidu.com/|搜狐|200
1397 | http://m.sohu.com/|体育|200
1398 | http://m.sohu.com/n/346620805/|信号|200
1399 | http://www.baidu.com/|搜狐|200
1400 | http://m.sohu.com/|体育|200
1401 | http://m.sohu.com/n/346620805/|信号|200
1402 | http://www.baidu.com/|搜狐|200
1403 | http://m.sohu.com/|体育|200
1404 | http://m.sohu.com/n/346620805/|信号|200
1405 | http://www.baidu.com/|搜狐|200
1406 | http://m.sohu.com/|体育|200
1407 | http://m.sohu.com/n/346620805/|信号|200
1408 | http://www.baidu.com/|搜狐|200
1409 | http://m.sohu.com/|体育|200
1410 | http://m.sohu.com/n/346620805/|信号|200
1411 | http://www.baidu.com/|搜狐|200
1412 | http://m.sohu.com/|体育|200
1413 | http://m.sohu.com/n/346620805/|信号|200
1414 | http://www.baidu.com/|搜狐|200
1415 | http://m.sohu.com/|体育|200
1416 | http://m.sohu.com/n/346620805/|信号|200
1417 | http://www.baidu.com/|搜狐|200
1418 | http://m.sohu.com/|体育|200
1419 | http://m.sohu.com/n/346620805/|信号|200
1420 | http://www.baidu.com/|搜狐|200
1421 | http://m.sohu.com/|体育|200
1422 | http://m.sohu.com/n/346620805/|信号|200
1423 | http://www.baidu.com/|搜狐|200
1424 | http://m.sohu.com/|体育|200
1425 | http://m.sohu.com/n/346620805/|信号|200
1426 | http://www.baidu.com/|搜狐|200
1427 | http://m.sohu.com/|体育|200
1428 | http://m.sohu.com/n/346620805/|信号|200
1429 | http://www.baidu.com/|搜狐|200
1430 | http://m.sohu.com/|体育|200
1431 | http://m.sohu.com/n/346620805/|信号|200
1432 | http://www.baidu.com/|搜狐|200
1433 | http://m.sohu.com/|体育|200
1434 | http://m.sohu.com/n/346620805/|信号|200
1435 | http://www.baidu.com/|搜狐|200
1436 | http://m.sohu.com/|体育|200
1437 | http://m.sohu.com/n/346620805/|信号|200
1438 | http://www.baidu.com/|搜狐|200
1439 | http://m.sohu.com/|体育|200
1440 | http://m.sohu.com/n/346620805/|信号|200
1441 | http://www.baidu.com/|搜狐|200
1442 | http://m.sohu.com/|体育|200
1443 | http://m.sohu.com/n/346620805/|信号|200
1444 | http://www.baidu.com/|搜狐|200
1445 | http://m.sohu.com/|体育|200
1446 | http://m.sohu.com/n/346620805/|信号|200
1447 | http://www.baidu.com/|搜狐|200
1448 | http://m.sohu.com/|体育|200
1449 | http://m.sohu.com/n/346620805/|信号|200
1450 | http://www.baidu.com/|搜狐|200
1451 | http://m.sohu.com/|体育|200
1452 | http://m.sohu.com/n/346620805/|信号|200
1453 | http://www.baidu.com/|搜狐|200
1454 | http://m.sohu.com/|体育|200
1455 | http://m.sohu.com/n/346620805/|信号|200
1456 | http://www.baidu.com/|搜狐|200
1457 | http://m.sohu.com/|体育|200
1458 | http://m.sohu.com/n/346620805/|信号|200
1459 | http://www.baidu.com/|搜狐|200
1460 | http://m.sohu.com/|体育|200
1461 | http://m.sohu.com/n/346620805/|信号|200
1462 | http://www.baidu.com/|搜狐|200
1463 | http://m.sohu.com/|体育|200
1464 | http://m.sohu.com/n/346620805/|信号|200
1465 | http://www.baidu.com/|搜狐|200
1466 | http://m.sohu.com/|体育|200
1467 | http://m.sohu.com/n/346620805/|信号|200
1468 | http://www.baidu.com/|搜狐|200
1469 | http://m.sohu.com/|体育|200
1470 | http://m.sohu.com/n/346620805/|信号|200
1471 | http://www.baidu.com/|搜狐|200
1472 | http://m.sohu.com/|体育|200
1473 | http://m.sohu.com/n/346620805/|信号|200
1474 | http://www.baidu.com/|搜狐|200
1475 | http://m.sohu.com/|体育|200
1476 | http://m.sohu.com/n/346620805/|信号|200
1477 | http://www.baidu.com/|搜狐|200
1478 | http://m.sohu.com/|体育|200
1479 | http://m.sohu.com/n/346620805/|信号|200
1480 | http://www.baidu.com/|搜狐|200
1481 | http://m.sohu.com/|体育|200
1482 | http://m.sohu.com/n/346620805/|信号|200
1483 | http://www.baidu.com/|搜狐|200
1484 | http://m.sohu.com/|体育|200
1485 | http://m.sohu.com/n/346620805/|信号|200
1486 | http://www.baidu.com/|搜狐|200
1487 | http://m.sohu.com/|体育|200
1488 | http://m.sohu.com/n/346620805/|信号|200
1489 | http://www.baidu.com/|搜狐|200
1490 | http://m.sohu.com/|体育|200
1491 | http://m.sohu.com/n/346620805/|信号|200
1492 | http://www.baidu.com/|搜狐|200
1493 | http://m.sohu.com/|体育|200
1494 | http://m.sohu.com/n/346620805/|信号|200
1495 | http://www.baidu.com/|搜狐|200
1496 | http://m.sohu.com/|体育|200
1497 | http://m.sohu.com/n/346620805/|信号|200
1498 | http://www.baidu.com/|搜狐|200
1499 | http://m.sohu.com/|体育|200
1500 | http://m.sohu.com/n/346620805/|信号|200
1501 | http://www.baidu.com/|搜狐|200
1502 | http://m.sohu.com/|体育|200
1503 | http://m.sohu.com/n/346620805/|信号|200
1504 | http://www.baidu.com/|搜狐|200
1505 | http://m.sohu.com/|体育|200
1506 | http://m.sohu.com/n/346620805/|信号|200
1507 | http://www.baidu.com/|搜狐|200
1508 | http://m.sohu.com/|体育|200
1509 | http://m.sohu.com/n/346620805/|信号|200
1510 | http://www.baidu.com/|搜狐|200
1511 | http://m.sohu.com/|体育|200
1512 | http://m.sohu.com/n/346620805/|信号|200
1513 | http://www.baidu.com/|搜狐|200
1514 | http://m.sohu.com/|体育|200
1515 | http://m.sohu.com/n/346620805/|信号|200
1516 | http://www.baidu.com/|搜狐|200
1517 | http://m.sohu.com/|体育|200
1518 | http://m.sohu.com/n/346620805/|信号|200
1519 | http://www.baidu.com/|搜狐|200
1520 | http://m.sohu.com/|体育|200
1521 | http://m.sohu.com/n/346620805/|信号|200
1522 | http://www.baidu.com/|搜狐|200
1523 | http://m.sohu.com/|体育|200
1524 | http://m.sohu.com/n/346620805/|信号|200
1525 | http://www.baidu.com/|搜狐|200
1526 | http://m.sohu.com/|体育|200
1527 | http://m.sohu.com/n/346620805/|信号|200
1528 | http://www.baidu.com/|搜狐|200
1529 | http://m.sohu.com/|体育|200
1530 | http://m.sohu.com/n/346620805/|信号|200
1531 | http://www.baidu.com/|搜狐|200
1532 | http://m.sohu.com/|体育|200
1533 | http://m.sohu.com/n/346620805/|信号|200
1534 | http://www.baidu.com/|搜狐|200
1535 | http://m.sohu.com/|体育|200
1536 | http://m.sohu.com/n/346620805/|信号|200
1537 | http://www.baidu.com/|搜狐|200
1538 | http://m.sohu.com/|体育|200
1539 | http://m.sohu.com/n/346620805/|信号|200
1540 | http://www.baidu.com/|搜狐|200
1541 | http://m.sohu.com/|体育|200
1542 | http://m.sohu.com/n/346620805/|信号|200
1543 | http://www.baidu.com/|搜狐|200
1544 | http://m.sohu.com/|体育|200
1545 | http://m.sohu.com/n/346620805/|信号|200
1546 | http://www.baidu.com/|搜狐|200
1547 | http://m.sohu.com/|体育|200
1548 | http://m.sohu.com/n/346620805/|信号|200
1549 | http://www.baidu.com/|搜狐|200
1550 | http://m.sohu.com/|体育|200
1551 | http://m.sohu.com/n/346620805/|信号|200
1552 | http://www.baidu.com/|搜狐|200
1553 | http://m.sohu.com/|体育|200
1554 | http://m.sohu.com/n/346620805/|信号|200
1555 | http://www.baidu.com/|搜狐|200
1556 | http://m.sohu.com/|体育|200
1557 | http://m.sohu.com/n/346620805/|信号|200
1558 | http://www.baidu.com/|搜狐|200
1559 | http://m.sohu.com/|体育|200
1560 | http://m.sohu.com/n/346620805/|信号|200
1561 | http://www.baidu.com/|搜狐|200
1562 | http://m.sohu.com/|体育|200
1563 | http://m.sohu.com/n/346620805/|信号|200
1564 | http://www.baidu.com/|搜狐|200
1565 | http://m.sohu.com/|体育|200
1566 | http://m.sohu.com/n/346620805/|信号|200
1567 | http://www.baidu.com/|搜狐|200
1568 | http://m.sohu.com/|体育|200
1569 | http://m.sohu.com/n/346620805/|信号|200
1570 | http://www.baidu.com/|搜狐|200
1571 | http://m.sohu.com/|体育|200
1572 | http://m.sohu.com/n/346620805/|信号|200
1573 | http://www.baidu.com/|搜狐|200
1574 | http://m.sohu.com/|体育|200
1575 | http://m.sohu.com/n/346620805/|信号|200
1576 | http://www.baidu.com/|搜狐|200
1577 | http://m.sohu.com/|体育|200
1578 | http://m.sohu.com/n/346620805/|信号|200
1579 | http://www.baidu.com/|搜狐|200
1580 | http://m.sohu.com/|体育|200
1581 | http://m.sohu.com/n/346620805/|信号|200
1582 | http://www.baidu.com/|搜狐|200
1583 | http://m.sohu.com/|体育|200
1584 | http://m.sohu.com/n/346620805/|信号|200
1585 | http://www.baidu.com/|搜狐|200
1586 | http://m.sohu.com/|体育|200
1587 | http://m.sohu.com/n/346620805/|信号|200
1588 | http://www.baidu.com/|搜狐|200
1589 | http://m.sohu.com/|体育|200
1590 | http://m.sohu.com/n/346620805/|信号|200
1591 | http://www.baidu.com/|搜狐|200
1592 | http://m.sohu.com/|体育|200
1593 | http://m.sohu.com/n/346620805/|信号|200
1594 | http://www.baidu.com/|搜狐|200
1595 | http://m.sohu.com/|体育|200
1596 | http://m.sohu.com/n/346620805/|信号|200
1597 | http://www.baidu.com/|搜狐|200
1598 | http://m.sohu.com/|体育|200
1599 | http://m.sohu.com/n/346620805/|信号|200
1600 | http://www.baidu.com/|搜狐|200
1601 | http://m.sohu.com/|体育|200
1602 | http://m.sohu.com/n/346620805/|信号|200
1603 | http://www.baidu.com/|搜狐|200
1604 | http://m.sohu.com/|体育|200
1605 | http://m.sohu.com/n/346620805/|信号|200
1606 | http://www.baidu.com/|搜狐|200
1607 | http://m.sohu.com/|体育|200
1608 | http://m.sohu.com/n/346620805/|信号|200
1609 | http://www.baidu.com/|搜狐|200
1610 | http://m.sohu.com/|体育|200
1611 | http://m.sohu.com/n/346620805/|信号|200
1612 | http://www.baidu.com/|搜狐|200
1613 | http://m.sohu.com/|体育|200
1614 | http://m.sohu.com/n/346620805/|信号|200
1615 | http://www.baidu.com/|搜狐|200
1616 | http://m.sohu.com/|体育|200
1617 | http://m.sohu.com/n/346620805/|信号|200
1618 | http://www.baidu.com/|搜狐|200
1619 | http://m.sohu.com/|体育|200
1620 | http://m.sohu.com/n/346620805/|信号|200
1621 | http://www.baidu.com/|搜狐|200
1622 | http://m.sohu.com/|体育|200
1623 | http://m.sohu.com/n/346620805/|信号|200
1624 | http://www.baidu.com/|搜狐|200
1625 | http://m.sohu.com/|体育|200
1626 | http://m.sohu.com/n/346620805/|信号|200
1627 | http://www.baidu.com/|搜狐|200
1628 | http://m.sohu.com/|体育|200
1629 | http://m.sohu.com/n/346620805/|信号|200
1630 | http://www.baidu.com/|搜狐|200
1631 | http://m.sohu.com/|体育|200
1632 | http://m.sohu.com/n/346620805/|信号|200
1633 | http://www.baidu.com/|搜狐|200
1634 | http://m.sohu.com/|体育|200
1635 | http://m.sohu.com/n/346620805/|信号|200
1636 | http://www.baidu.com/|搜狐|200
1637 | http://m.sohu.com/|体育|200
1638 | http://m.sohu.com/n/346620805/|信号|200
1639 | http://www.baidu.com/|搜狐|200
1640 | http://m.sohu.com/|体育|200
1641 | http://m.sohu.com/n/346620805/|信号|200
1642 | http://www.baidu.com/|搜狐|200
1643 | http://m.sohu.com/|体育|200
1644 | http://m.sohu.com/n/346620805/|信号|200
1645 | http://www.baidu.com/|搜狐|200
1646 | http://m.sohu.com/|体育|200
1647 | http://m.sohu.com/n/346620805/|信号|200
1648 | http://www.baidu.com/|搜狐|200
1649 | http://m.sohu.com/|体育|200
1650 | http://m.sohu.com/n/346620805/|信号|200
1651 | http://www.baidu.com/|搜狐|200
1652 | http://m.sohu.com/|体育|200
1653 | http://m.sohu.com/n/346620805/|信号|200
1654 | http://www.baidu.com/|搜狐|200
1655 | http://m.sohu.com/|体育|200
1656 | http://m.sohu.com/n/346620805/|信号|200
1657 | http://www.baidu.com/|搜狐|200
1658 | http://m.sohu.com/|体育|200
1659 | http://m.sohu.com/n/346620805/|信号|200
1660 | http://www.baidu.com/|搜狐|200
1661 | http://m.sohu.com/|体育|200
1662 | http://m.sohu.com/n/346620805/|信号|200
1663 | http://www.baidu.com/|搜狐|200
1664 | http://m.sohu.com/|体育|200
1665 | http://m.sohu.com/n/346620805/|信号|200
1666 | http://www.baidu.com/|搜狐|200
1667 | http://m.sohu.com/|体育|200
1668 | http://m.sohu.com/n/346620805/|信号|200
1669 | http://www.baidu.com/|搜狐|200
1670 | http://m.sohu.com/|体育|200
1671 | http://m.sohu.com/n/346620805/|信号|200
1672 | http://www.baidu.com/|搜狐|200
1673 | http://m.sohu.com/|体育|200
1674 | http://m.sohu.com/n/346620805/|信号|200
1675 | http://www.baidu.com/|搜狐|200
1676 | http://m.sohu.com/|体育|200
1677 | http://m.sohu.com/n/346620805/|信号|200
1678 | http://www.baidu.com/|搜狐|200
1679 | http://m.sohu.com/|体育|200
1680 | http://m.sohu.com/n/346620805/|信号|200
1681 | http://www.baidu.com/|搜狐|200
1682 | http://m.sohu.com/|体育|200
1683 | http://m.sohu.com/n/346620805/|信号|200
1684 | http://www.baidu.com/|搜狐|200
1685 | http://m.sohu.com/|体育|200
1686 | http://m.sohu.com/n/346620805/|信号|200
1687 | http://www.baidu.com/|搜狐|200
1688 | http://m.sohu.com/|体育|200
1689 | http://m.sohu.com/n/346620805/|信号|200
1690 | http://www.baidu.com/|搜狐|200
1691 | http://m.sohu.com/|体育|200
1692 | http://m.sohu.com/n/346620805/|信号|200
1693 | http://www.baidu.com/|搜狐|200
1694 | http://m.sohu.com/|体育|200
1695 | http://m.sohu.com/n/346620805/|信号|200
1696 | http://www.baidu.com/|搜狐|200
1697 | http://m.sohu.com/|体育|200
1698 | http://m.sohu.com/n/346620805/|信号|200
1699 | http://www.baidu.com/|搜狐|200
1700 | http://m.sohu.com/|体育|200
1701 | http://m.sohu.com/n/346620805/|信号|200
1702 | http://www.baidu.com/|搜狐|200
1703 | http://m.sohu.com/|体育|200
1704 | http://m.sohu.com/n/346620805/|信号|200
1705 | http://www.baidu.com/|搜狐|200
1706 | http://m.sohu.com/|体育|200
1707 | http://m.sohu.com/n/346620805/|信号|200
1708 | http://www.baidu.com/|搜狐|200
1709 | http://m.sohu.com/|体育|200
1710 | http://m.sohu.com/n/346620805/|信号|200
1711 | http://www.baidu.com/|搜狐|200
1712 | http://m.sohu.com/|体育|200
1713 | http://m.sohu.com/n/346620805/|信号|200
1714 | http://www.baidu.com/|搜狐|200
1715 | http://m.sohu.com/|体育|200
1716 | http://m.sohu.com/n/346620805/|信号|200
1717 | http://www.baidu.com/|搜狐|200
1718 | http://m.sohu.com/|体育|200
1719 | http://m.sohu.com/n/346620805/|信号|200
1720 | http://www.baidu.com/|搜狐|200
1721 | http://m.sohu.com/|体育|200
1722 | http://m.sohu.com/n/346620805/|信号|200
1723 | http://www.baidu.com/|搜狐|200
1724 | http://m.sohu.com/|体育|200
1725 | http://m.sohu.com/n/346620805/|信号|200
1726 | http://www.baidu.com/|搜狐|200
1727 | http://m.sohu.com/|体育|200
1728 | http://m.sohu.com/n/346620805/|信号|200
1729 | http://www.baidu.com/|搜狐|200
1730 | http://www.sina.com.cn/|宇宙外星人|200
1731 |
--------------------------------------------------------------------------------
/sohupy/3/workermanager.py:
--------------------------------------------------------------------------------
1 | #coding=utf-8
2 | '''
3 | author:huyang
4 | date:2012-7-10
5 | ref:http://www.open-open.com
6 | '''
7 | import Queue
8 | import threading
9 | import time
10 | import sys
11 |
12 | class WorkManager(object):
13 | def __init__(self, thread_num=10):
14 | self.work_queue = Queue.Queue()
15 | self.threads = []
16 | self.thread_num = thread_num
17 | self.starttime = time.time()
18 |
19 | '''
20 | 启动线程
21 | '''
22 | def start_thread_pool(self):
23 | for i in range(self.thread_num):
24 | worker = Work(self.work_queue)
25 | worker.setDaemon(True)
26 | worker.start()
27 | self.threads.append(worker)
28 |
29 | """
30 | 添加一项工作入队
31 | """
32 | def add_job(self, func, **kwargs):
33 | self.work_queue.put((func, kwargs))#任务入队,Queue内部实现了同步机制
34 |
35 | """
36 | 检查剩余队列任务
37 | """
38 | def check_queue(self):
39 | return self.work_queue.qsize()
40 |
41 | def check_thread(self):
42 | '''
43 | 检查剩余线程数
44 | '''
45 | counter = 0
46 | for thread in self.threads:
47 | if thread.isAlive():
48 | counter += 1
49 |
50 | return counter
51 |
52 | """
53 | 等待所有线程运行完毕
54 | """
55 | def wait_allcomplete(self):
56 | for item in self.threads:
57 | if item.isAlive():
58 | item.join()
59 | '''
60 | 设置超时退出
61 | '''
62 | def quit_thread(self):
63 | #for item in self.threads:
64 | # item.join(1)
65 | endtime = time.time()
66 | print 'done %s jobs cost:%ss' % (str(self.work_queue.qsize()),str(endtime - self.starttime))
67 | sys.exit()
68 |
69 |
70 | class Work(threading.Thread):
71 | '''
72 | 执行工作的线程
73 | '''
74 | def __init__(self, work_queue):
75 | threading.Thread.__init__(self)
76 | self.work_queue = work_queue
77 |
78 | def run(self):
79 | #死循环,从而让创建的线程在一定条件下关闭退出
80 | while True:
81 | try:
82 | do, kwargs = self.work_queue.get(block=False)#任务异步出队,Queue内部实现了同步机制
83 | do(kwargs)
84 | self.work_queue.task_done()#通知系统任务完成
85 | except Queue.Empty:
86 | break
87 | except Exception,e:
88 | print 'an exception in work:%s' % str(e)
89 | break
90 |
91 |
--------------------------------------------------------------------------------
/tools/jsonreader.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | import wx
4 | import json
5 |
6 |
7 | HEAD_START = 0.1 #Seconds
8 | SECRET_LENGTH = 100
9 | SAMPLE_LIST = [
10 | 'http://m.weather.com.cn/data/101010100.html',
11 | ]
12 |
13 | class Client(wx.App):
14 | def __init__(self):
15 | super(Client, self).__init__()
16 |
17 | def OnInit(self):
18 | win = wx.Frame(None, title="Json Reader", size=(800, 900))
19 | bkg = wx.Panel(win)
20 | self.statusBar = win.CreateStatusBar()
21 |
22 | vbox = wx.BoxSizer(wx.VERTICAL)
23 |
24 | hbox = wx.BoxSizer()
25 |
26 | self.urlinput = urlinput = wx.TextCtrl(bkg, -1, u'点击下面url或者手动输入', size=(400, 25))
27 | hbox.Add(urlinput, proportion=1, flag=wx.ALL, border=10)
28 |
29 | submit = wx.Button(bkg, label="Fetch", size=(80, 25))
30 | submit.Bind(wx.EVT_BUTTON, self.fetchHandler)
31 | hbox.Add(submit, flag=wx.TOP | wx.BOTTOM | wx.RIGHT, border=10)
32 | vbox.Add(hbox, proportion=0, flag=wx.EXPAND)
33 |
34 | hbox2 = wx.BoxSizer()
35 | self.url_list = url_list = wx.CheckListBox(bkg, -1, (80, 50), wx.DefaultSize, SAMPLE_LIST)
36 | self.Bind(wx.EVT_LISTBOX, self.EvtListBox, url_list)
37 | hbox2.Add(url_list, flag=wx.TOP | wx.BOTTOM | wx.RIGHT, border=10)
38 | vbox.Add(hbox2, proportion=0, flag=wx.EXPAND)
39 |
40 | hbox3 = wx.BoxSizer()
41 | self.output = output = wx.TextCtrl(bkg, -1, '', size=(400, 600), style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER)
42 | hbox3.Add(output, proportion=1, flag=wx.ALL | wx.ALIGN_RIGHT, border=10)
43 |
44 |
45 | vbox.Add(hbox3, proportion=0, flag=wx.EXPAND)
46 | bkg.SetSizer(vbox)
47 | win.Show()
48 |
49 | return True
50 |
51 | def EvtListBox(self, event):
52 | self.urlinput.SetValue(event.GetString())
53 |
54 | def fetchHandler(self, event):
55 | url = self.urlinput.GetValue()
56 | import urllib
57 | try:
58 | content = urllib.urlopen(url).read()
59 | except Exception, e:
60 | self.statusBar.SetStatusText(str(e))
61 | return
62 | result = self.parse_json(content)
63 |
64 | self.output.SetValue(result)
65 | self.statusBar.SetStatusText('finish')
66 |
67 | def parse_json(self, content):
68 | _content = json.loads(content)
69 | result = []
70 | def traversal_json(json_data, sep, step = 2):
71 | temp = ''
72 | try:
73 | #print 'json_data', json_data
74 | for _ in json_data:
75 | temp = _
76 | if isinstance(json_data, type([])):
77 | result.append('%s%s' % (sep, '*********'))
78 | if isinstance(_, dict):
79 | traversal_json(_, sep * step)
80 | else:
81 | if not isinstance(json_data[_], dict) and not isinstance(json_data[_], type([])):
82 | key_value = '%s:%s' % (_, json_data[_])
83 | result.append('%s%s' % (sep, key_value))
84 | else:
85 | result.append('%s%s:' % (sep, _))
86 | traversal_json(json_data[_], sep * step)
87 | except Exception, e:
88 | self.statusBar.SetStatusText('parse data:%s' % temp)
89 |
90 | traversal_json(_content, '--')
91 |
92 | return '\n'.join(result)
93 |
94 |
95 |
96 |
97 | def main():
98 | client = Client()
99 | client.MainLoop()
100 |
101 | if __name__ == '__main__': main()
102 |
--------------------------------------------------------------------------------
/tools/timeparse.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | __author__ = 'the5fire'
4 |
5 | '''
6 | parse time
7 | '''
8 |
9 | import time
10 |
11 | def time2stamp(timestr, format_type='%Y-%m-%d %H:%M:%S'):
12 | return time.mktime(time.strptime(timestr, format_type))
13 |
14 | def stamp2time(stamp, format_type='%Y-%m-%d %H:%M:%S'):
15 | return time.strftime(format_type, time.localtime(stamp))
16 |
17 |
18 | if __name__ == '__main__':
19 | stamp = time.time()
20 | nowtime = stamp2time(stamp)
21 | print stamp, '-->', nowtime
22 | print
23 | stamp = time2stamp(nowtime)
24 | print nowtime, '-->', stamp
25 | print
26 | print stamp, '-->', stamp2time(stamp)
27 |
28 |
--------------------------------------------------------------------------------
/tools/urllib_proxy.py:
--------------------------------------------------------------------------------
1 | #coding:utf-8
2 |
3 | import urllib2
4 |
5 | def get_content_by_proxy(url, proxy=None):
6 | if proxy:
7 | opener = urllib2.build_opener(urllib2.ProxyHandler({'http':proxy}), urllib2.HTTPHandler(debuglevel=1))
8 | urllib2.install_opener(opener)
9 |
10 | i_headers = {"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5", \
11 | "Referer": 'http://www.baidu.com'}
12 |
13 | req = urllib2.Request(url, headers=i_headers)
14 | content = urllib2.urlopen(req).read()
15 | return content
16 |
17 |
18 |
19 | url = 'http://www.facebook.com/'
20 | url = 'http://www.youtube.com/'
21 | #url = 'http://www.baidu.com/'
22 | proxy = 'http://127.0.0.1:1998'
23 | proxy = 'http://109.87.114.119:3128'
24 | proxy = 'http://206.17.82.114:80'
25 | print get_content_by_proxy(url, proxy)
26 |
27 |
28 |
--------------------------------------------------------------------------------