`
xfcode
  • 浏览: 23396 次
  • 性别: 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模块,但是内容部分却展示了requests库的安装过程。因此...

    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的核心概念...

    python模块urllib3.zip

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

    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文档信息,内部可以...

    pythonurllib2模块实例简介.pdf

    在Python编程中,urllib2是进行网络请求的一个常用模块,尤其在教育领域,学习如何使用urllib2是理解和构建网络应用程序的基础。 urllib2的核心功能是urlopen函数,它能够打开并读取一个URL。如以下代码所示: ```...

    python urllib使用PPT

    python urllib 使用PPT python urllib使用PPT

    python urllib2模块实例简介.docx

    ### Python urllib2 模块详解 #### 一、引言 `urllib2` 是 Python 早期用于处理 URL 请求的标准库之一,在 Python 2.x 版本中广泛使用。随着 Python 3.x 的普及,该模块已被整合进 `urllib` 包中,并有所调整。...

    pythonurllib2模块实例简介文.pdf

    Python的urllib2模块是用于处理URL的工具集,它为开发者提供了强大的功能,包括打开网页、处理HTTP请求和响应、处理HTTP头、处理cookies、处理认证等。在这个实例简介中,我们将深入探讨urllib2模块的核心功能和使用...

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

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

    Python网络请求利器:深入探索`urllib`模块

    在Python中进行网络编程时,urllib模块是一个强大的工具,它提供了一套完整的API来处理URL和网络请求。urllib是Python标准库的一部分,它包括了多个子模块,如urllib.request、urllib.parse、urllib.error等,这些子...

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

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

    python_urllib3

    urllib3 is a python lib 1.线程安全 2.连接池 3.客户端SSL/TLS验证 4.文件分部编码上传 5.协助处理重复请求和HTTP重定位 6.支持压缩编码 7.支持HTTP和SOCKS代理

Global site tag (gtag.js) - Google Analytics