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


Posted in Python onJanuary 16, 2014

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 相关文章推荐
Python实现完整的事务操作示例
Jun 20 Python
Django处理文件上传File Uploads的实例
May 28 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
python实现抖音视频批量下载
Jun 20 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
Python中一些深不见底的“坑”
Jun 12 Python
python分布式编程实现过程解析
Nov 08 Python
Python 静态方法和类方法实例分析
Nov 21 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
Oct 15 Python
python urllib库的使用详解
Apr 13 Python
python3.3教程之模拟百度登陆代码分享
Jan 16 #Python
python解析发往本机的数据包示例 (解析数据包)
Jan 16 #Python
python多线程扫描端口示例
Jan 16 #Python
python发送arp欺骗攻击代码分析
Jan 16 #Python
分析python服务器拒绝服务攻击代码
Jan 16 #Python
python获取豆瓣电影简介代码分享
Jan 16 #Python
linux系统使用python获取cpu信息脚本分享
Jan 15 #Python
You might like
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
php eval函数一句话木马代码
2015/05/21 PHP
PHP 图片处理
2020/09/16 PHP
海量经典的jQuery插件集合
2010/01/12 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
javascript教程:关于if简写语句优化的方法
2014/05/17 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
python3中property使用方法详解
2019/04/23 Python
Django 再谈一谈json序列化
2020/03/16 Python
linux 下selenium chrome使用详解
2020/04/02 Python
如何对python的字典进行排序
2020/06/19 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
高中生毕业自我鉴定
2013/10/10 职场文书
学校招生宣传广告词
2014/03/19 职场文书
毕业证委托书范文
2014/09/26 职场文书
雾霾停课通知
2015/04/24 职场文书
少年雷锋观后感
2015/06/10 职场文书