`
xfcode
  • 浏览: 22496 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

python urllib模块和pyquery实现阿里巴巴排名查询

阅读更多
python库urllib及pyquery基本东西的应用,实现阿里巴巴关键词排名的查询,其中涉及到urllib代理的设置,pyquery对html文档的解析。

urllib基础模块的应用,通过该类获取到url中的html文档信息,内部可以重写代理的获取方法。

代码:
class ProxyScrapy(object):
    def __init__(self):
        self.proxy_robot = ProxyRobot()
        self.current_proxy = None
        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):
        opener = 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("Cache-Control", "no-cache")
        #request.add_header("Connection", "keep-alive")
        try:
            response = 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()
                return html
            else:
                if PROXY_ENABLE:
                    self.proxy_robot.handle_double_proxy(self.current_proxy)
                return self.get_html_body(url)
        except Exception as inst:
            print inst,self.current_proxy
            self.proxy_robot.handle_double_proxy(self.current_proxy)
            return self.get_html_body(url)
分享到:
评论

相关推荐

    python使用urllib模块和pyquery实现阿里巴巴排名查询

    urllib基础模块的应用,通过该类获取到url中的html文档信息,内部可以重写代理的获取方法 复制代码 代码如下:class ProxyScrapy(object): def __init__(self): self.proxy_robot = ProxyRobot() self.current_...

    Python urllib urllib2 urllib模块安装说明

    Python urllib urllib2 urllib模块安装说明

    Python urllib urllib模块

    在Python 3.x中,urllib被进一步拆分为urllib.request、urllib.parse和urllib.error三个子模块,以更清晰地组织功能。 1. **urllib.request**: 这个子模块负责实际的HTTP请求。它提供了opener对象,可以用来打开URL...

    python urllib3

    Python的urllib3库是Python标准库urllib的第三方扩展,提供了一套强大的HTTP客户端功能。这个库在处理网络请求时,特别是在并发请求和管理连接池方面,具有很高的效率和灵活性。下面我们将深入探讨urllib3的核心概念...

    pythonurllib模块下载图片共9页.pdf.z

    1. **urllib模块简介**:`urllib`模块是Python标准库的一部分,它提供了多种处理URL的功能,包括打开、读取和解析URL。主要包含以下几个子模块: - `urllib.request`:用于打开和读取URL,支持HTTP、HTTPS等协议。 ...

    python urllib3 requests

    Python的urllib3和requests库是进行HTTP请求的两个常用工具,它们在Web开发、数据抓取、API交互等场景中扮演着重要角色。这里我们将深入探讨这两个库的特点、使用方法以及它们之间的区别。 首先,urllib3是Python的...

    Python查询阿里巴巴关键字排名的方法

    这里使用python库urllib及pyquery基本东西的应用,实现阿里巴巴关键词排名的查询,其中涉及到urllib代理的设置,pyquery对html文档的解析 1. urllib 基础模块的应用,通过该类获取到url中的html文档信息,内部可以...

    python urllib2模块实例简介.docx

    python urllib2模块实例简介.docx

    pythonurllib2模块实例简介.pdf

    pythonurllib2模块实例简介.pdf

    pythonurllib2模块实例简介文.pdf

    pythonurllib2模块实例简介文.pdf

    python urllib使用PPT

    python urllib 使用PPT python urllib使用PPT

    Python 网络爬虫开发 Python爬虫入门基础教程:Python的urllib2 模块解析 共6页.pptx

    Python 的 urllib2 模块是 Python 的一个标准库,提供了访问网页和本地文件的功能。在本教程中,我们将详细了解 urllib2 模块的使用和解析。 一、urllib2 模块概述 urllib2 模块是 Python 的一个标准库,提供了...

    python模块urllib3.zip

    使用Python 3.x版本运行py文件时报错 No module named 'urllib3' 一开始参照网上的安装方法通过pip来安装,未成功pip install urllib3 后面找到了这个文件,分享给大家。 使用方法是下载解压后,cmd里切换到解压...

    Python爬虫基础教程-Urllib详解.pdf

    Python3中将python2.7的urllib和urllib2两个包合并成了⼀个urllib库,其主要包括⼀下模块: urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.robotparser robots.txt解析模块 ...

    【Python】Python的urllib模块、urllib2模块批量进行网页下载文件

    正好Python有相关的模块,所以写了个程序来进行PDF文件的下载,顺便熟悉了Python的...通过结合Python的urllib模块和urllib2模块来实现自动下载。代码如下: test.py #!/usr/bin/python # -*- coding:utf-8 -*- impo

    python中urllib2模块 HTTPBasicAuthHandler认证 HTTPError bug

    这篇博客文章“python中urllib2模块 HTTPBasicAuthHandler认证 HTTPError bug”探讨了在使用`urllib2.HTTPBasicAuthHandler`进行认证时可能遇到的错误和解决方法。 首先,`urllib2`库提供了`HTTPBasicAuthHandler`...

Global site tag (gtag.js) - Google Analytics