|
@@ -1,53 +0,0 @@
|
|
|
-# -*-coding:utf-8-*-
|
|
|
|
|
-import random
|
|
|
|
|
-from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware
|
|
|
|
|
-
|
|
|
|
|
-import base64
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-class ProxyMiddleware(object): # 该为指定代理,暂未使用
|
|
|
|
|
- # overwrite process request
|
|
|
|
|
- def process_request(self, request, spider):
|
|
|
|
|
- # Set the location of the proxy
|
|
|
|
|
- request.meta['proxy'] = "http://110.157.171.11:9000"
|
|
|
|
|
- print('-------------------------Trying to use proxy----------------------------')
|
|
|
|
|
- # Use the following lines if your proxy requires authentication
|
|
|
|
|
- proxy_user_pass = "USERNAME:PASSWORD"
|
|
|
|
|
- # setup basic authentication for the proxy
|
|
|
|
|
- encoded_user_pass = base64.encodestring(proxy_user_pass)
|
|
|
|
|
- request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-class RotateUserAgentMiddleware(UserAgentMiddleware): #轮换代理agent
|
|
|
|
|
- def __init__(self, user_agent=''):
|
|
|
|
|
- self.user_agent = user_agent
|
|
|
|
|
-
|
|
|
|
|
- def process_request(self, request, spider):
|
|
|
|
|
- ua = random.choice(self.user_agent_list)
|
|
|
|
|
- if ua:
|
|
|
|
|
- #print '-----------------------Using user-agent:', ua, '------------------------'
|
|
|
|
|
- request.headers.setdefault('User-Agent', ua)
|
|
|
|
|
-
|
|
|
|
|
- # the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape
|
|
|
|
|
-
|
|
|
|
|
- # for more user agent strings,you can find it in http://www.useragentstring.com/pages/useragentstring.php
|
|
|
|
|
- user_agent_list = [ \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1" \
|
|
|
|
|
- "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", \
|
|
|
|
|
- "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", \
|
|
|
|
|
- "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", \
|
|
|
|
|
- "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
|
|
|
|
|
- ]
|
|
|