Browse Source

add status

Germey 8 years ago
parent
commit
504f951120
5 changed files with 8 additions and 10 deletions
  1. 1 1
      proxypool/crawler.py
  2. 1 1
      proxypool/db.py
  3. 3 5
      proxypool/importer.py
  4. 1 1
      proxypool/setting.py
  5. 2 2
      proxypool/tester.py

+ 1 - 1
proxypool/crawler.py

@@ -49,7 +49,7 @@ class Crawler(object, metaclass=ProxyMetaclass):
             proxies = result.get('data').get('proxy_list')
             for proxy in proxies:
                 yield proxy
-
+                
     def crawl_daili66(self, page_count=4):
         """
         获取代理66

+ 1 - 1
proxypool/db.py

@@ -22,7 +22,7 @@ class RedisClient(object):
         :param score: 分数
         :return: 添加结果
         """
-        if self.db.zscore(REDIS_KEY, proxy):
+        if not self.db.zscore(REDIS_KEY, proxy):
             return self.db.zadd(REDIS_KEY, score, proxy)
     
     def random(self):

+ 3 - 5
proxypool/importer.py

@@ -1,5 +1,3 @@
-import requests
-
 from proxypool.db import RedisClient
 
 conn = RedisClient()
@@ -14,10 +12,10 @@ def set(proxy):
 def scan():
     print('请输入代理, 输入exit退出读入')
     while True:
-        account = input()
-        if account == 'exit':
+        proxy = input()
+        if proxy == 'exit':
             break
-        set(account)
+        set(proxy)
 
 
 if __name__ == '__main__':

+ 1 - 1
proxypool/setting.py

@@ -25,7 +25,7 @@ TESTER_CYCLE = 20
 GETTER_CYCLE = 20
 
 # 测试API,建议抓哪个网站测哪个
-TEST_URL = 'https://m.weibo.cn/api/container/getIndex?type=uid&value=2145291155&containerid=1076032145291155&page=14'
+TEST_URL = 'http://weixin.sogou.com/weixin?type=2&query=nba'
 
 # API配置
 API_HOST = '0.0.0.0'

+ 2 - 2
proxypool/tester.py

@@ -26,13 +26,13 @@ class Tester(object):
                     proxy = proxy.decode('utf-8')
                 real_proxy = 'http://' + proxy
                 print('正在测试', proxy)
-                async with session.get(TEST_URL, proxy=real_proxy, timeout=15) as response:
+                async with session.get(TEST_URL, proxy=real_proxy, timeout=15, allow_redirects=False) as response:
                     if response.status in VALID_STATUS_CODES:
                         self.redis.max(proxy)
                         print('代理可用', proxy)
                     else:
                         self.redis.decrease(proxy)
-                        print('请求响应码不合法IP', proxy)
+                        print('请求响应码不合法 ', response.status, 'IP', proxy)
             except (ClientError, aiohttp.client_exceptions.ClientConnectorError, asyncio.TimeoutError, AttributeError):
                 self.redis.decrease(proxy)
                 print('代理请求失败', proxy)