1:Redisの中に格納されているIPプロキシ要求:
#プロキシ接続のIP要求、プロキシを更新し、IPのRedis DEF proxy_redis(): SR = redis.Redis(CONNECTION_POOL = プール) proxys_text = requests.get(" あなたの要求プロキシIPアドレス" )の.text #の更新Redisの RET = SR。 SET(' proxy_list ' 、proxys_text) #プロキシ有用性をIP検出はFalseを、無用Trueを返しを返すことが有益である DEFのcheck_proxy(proxy_list): 印刷(" IPセル検出器がある" 、proxy_list) 試し: 用のプロキシでproxy_list: RET =要求します。 (取得" https://www.baidu.com/ "、プロキシ= { " HTTPS ":" のhttp://账号:密码@ {} " .format(プロキシ)}。)テキスト 印刷(" IP可用は" ) を返す真 除く:eと例外 リターン偽 #返回请求代理池 デフget_proxy_list(): しばらく真: SR = redis.Redis(CONNECTION_POOL = プール) ip_list = sr.get(" proxy_list ") #rediesが得るデータ IF ip_list == なし: proxy_redis() proxy_list = ip_list.split(" \ R&LT \ N- ") #データ構造にフォーマットリスト RET = check_proxy(proxy_list) #はエージェントがの効果があるかどうかを検出 IF RET == 真を: 印刷(" リクエスト・ブローカー・プール:" 、proxy_list) を返すproxy_list BREAKを 他: proxy_redisは() 印刷(" Redisのは正常に更新プール。")
2:集合Nは、セッション要求ヘッダーを設定します。
#1:。 セッションrequests.Session =() #設定されたグループセッション要求 session.proxies = { " HTTP ":" HTTP://ログイン:パスワード} {@ " .format(プロキシ)、 " HTTPS ":" HTTP:アカウント@:パスワード} {@ " .format(プロキシ) } ヘッダー = ヘッド() session.headers.update(ヘッダ) #1 更新要求ヘッダカスタムリクエストヘッダ session.post(" HTTPS://www.amazon。 COM / GP /デリバリー/アヤックス/アドレスchange.html 」、データ) #设置cookeis RET = session.get(" https://www.amazon.com/dp/B0047CJZLM "、ヘッダ= ヘッダ)の.text IUSC.append(セッション) #1 #2 セッション= requests.Session() #设置一组セッション请求 session.proxies = { " HTTP ":" のhttp:// sellerbdata:lv6nv17v @ {} " .format(プロキシ)、 " HTTPS ":" HTTP:// sellerbdata:lv6nv17v @ {} " .format(プロキシ) } ヘッダー =頭部() session.headers.update(ヘッダ) session.post(" https://www.amazon.com/gp/delivery/ajax/address-change.html "、データ、) #设置邮编 IUSC.append(セッション) #2