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判断windows系统是32位还是64位的方法
May 11 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
python异常处理try except过程解析
Feb 03 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
Feb 28 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
Django mysqlclient安装和使用详解
Sep 17 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
python递归打印某个目录的内容(实例讲解)
2017/08/30 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
使用Python实现分别输出每个数组
2019/12/06 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
家长通知书家长意见
2015/06/03 职场文书
工程进度款催款函
2015/06/24 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
创业计划书之物流运送
2019/09/17 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers