ホームページ  >  記事  >  バックエンド開発  >  Python は urllib モジュールと pyquery を使用して Alibaba ランキング クエリを実装します

Python は urllib モジュールと pyquery を使用して Alibaba ランキング クエリを実装します

WBOY
WBOYオリジナル
2016-06-16 08:45:351364ブラウズ

urllib 基本モジュールのアプリケーションは、このクラスを使用して URL 内の html 文書情報を取得し、プロキシ取得メソッドを内部で書き換えることができます

コードをコピー コードは次のとおりです:

class ProxyScrapy(object):
def __init__(self):
self.proxy_robot = ProxyRobot()
self.current_proxy = なし
self.cookie = cookielib.CookieJar()

def __builder_proxy_cookie_opener(self):
cookie_handler = urllib2 .HTTPCookieProcessor (self.cookie)
handlers = [cookie_handler]

if PROXY_ENABLE:
self.current_proxy = ip_port = self.proxy_robot.get_random_proxy()
proxy_handler = urllib2.ProxyHandler({'http': ip_port[7:]})
handlers.append( proxy_handler)

opener = urllib2.build_opener(*handlers)
urllib2.install_opener(opener)
return opener

def get_html_body(self,url):
オープナー = self.__builder_proxy_cookie_opener()

request=urllib2.Request(url)
#request.add_header("Accept-Encoding", "gzip,deflate,sdch")
#request.add_header("Accept", "text/html, application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
#request.add_header("キャッシュ制御", "キャッシュなし")
("接続" 、「キープアライブ」)

try:
応答 = opener.open(request,timeout=2)

http_code = response.getcode()
if http_code == 200:
if PROXY_ENABLE:
self.proxy_robot.handle_success _proxy(self.current_proxy)
html = response.read()
HTML を返す
Else:
IF Proxy_enable:
Self.proxy_robot.handle_Proxy (Self.Current_proxy)
Self.get_Html_Body (URL) を返す
Exception as Inst:
Printインスタンス、self.current_proxy

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。