python抓取某汽车网数据解析html存入excel示例


Posted in Python onDecember 04, 2013

1、某汽车网站地址

2、使用firefox查看后发现,此网站的信息未使用json数据,而是简单那的html页面而已

3、使用pyquery库中的PyQuery进行html的解析

页面样式:

python抓取某汽车网数据解析html存入excel示例

def get_dealer_info(self):
        """获取经销商信息"""
        css_select = 'html body div.box div.news_wrapper div.main div.news_list div.service_main div table tr '
        #使用火狐浏览器中的自动复制css路径得到需要位置数据
        page = urllib2.urlopen(self.entry_url).read()
        #读取页面
        page = page.replace('<br />','&')
        page = page.replace('<br/>','&')
        #由于页面中的电话信息中使用了br换行,所以在抓取的时候会产生问题
        #问题是:如果取得一对标签中的数据,中包含<br/>,会出现值得到br之前的数据,而后的数据将得不到,原因个人认为是解析html是会任务/>结尾标准        
        d = pq(page)
        #使用PyQuery解析页面,此处pq=PyQuery,因为from pyquery import PyQuery as pq
        dealer_list = []
        #创建列表用于提交到存储方法
        for dealer_div in d(css_select):
            #此处定位tr,具体数据在此标签中的td标签内
            p = dealer_div.findall('td')
            #此处p就是一个tr标签内,全部td数据的集合
            dealer = {}
            #此处的字典用于存储一个店铺的信息用于提交到列表中
            if len(p)==1:
                #此处多哥if判断是用于对数据进行处理,因为一些格式不符合最终数据的要求,需要剔除,这个快的代码按需求而定
                print '@'
            elif len(p)==6 :
                strp = p[0].text.strip()
                dealer[Constant.CITY] = p[1].text.strip()
                strc = p[2].text.strip()                dealer[Constant.PROVINCE] = p[0].text.strip()
                dealer[Constant.CITY] = p[1].text.strip()
                dealer[Constant.NAME] = p[2].text.strip()
                dealer[Constant.ADDRESSTYPE] = p[3].text.strip()
                dealer[Constant.ADDRESS] = p[4].text.strip()
                dealer[Constant.TELPHONE] = p[5].text.strip()
                dealer_list.append(dealer)  
            elif len(p)==5:
                if p[0].text.strip() != u'省份':
                    dealer[Constant.PROVINCE] = strp
                    dealer[Constant.CITY] = p[0].text.strip()
                    dealer[Constant.NAME] = p[1].text.strip()
                    dealer[Constant.ADDRESSTYPE] = p[2].text.strip()
                    dealer[Constant.ADDRESS] = p[3].text.strip()
                    dealer[Constant.TELPHONE] = p[4].text.strip()
                    dealer_list.append(dealer)
            elif len(p)==3:
                print '@@'
        print '@@@'
        self.saver.add(dealer_list)
        self.saver.commit()

4、最终代码执行成功,得到了相应数据并存入excel中

Python 相关文章推荐
Python实现字符串匹配算法代码示例
Dec 05 Python
Python基于动态规划算法解决01背包问题实例
Dec 06 Python
对命令行模式与python交互模式介绍
May 12 Python
Python 实现交换矩阵的行示例
Jun 26 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
django中瀑布流写法实例代码
Oct 14 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
Python类和实例的属性机制原理详解
Mar 21 Python
如何利用python发送邮件
Sep 26 Python
python 模拟登陆github的示例
Dec 04 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
python tqdm用法及实例详解
Jun 16 Python
python共享引用(多个变量引用)示例代码
Dec 04 #Python
python函数返回多个值的示例方法
Dec 04 #Python
python sys模块sys.path使用方法示例
Dec 04 #Python
Python yield使用方法示例
Dec 04 #Python
python函数参数*args**kwargs用法实例
Dec 04 #Python
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 #Python
Python Web框架Pylons中使用MongoDB的例子
Dec 03 #Python
You might like
Terran魔法科技
2020/03/14 星际争霸
PHP iconv 函数转gb2312的bug解决方法
2009/10/11 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
js确认删除对话框效果的示例代码
2014/02/20 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
AngularJS快速入门
2015/04/02 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
Python机器学习之决策树算法
2017/12/22 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
Python----数据预处理代码实例
2019/03/20 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
浅谈Python __init__.py的作用
2020/10/28 Python
python3处理word文档实例分析
2020/12/01 Python
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
物理专业大学生职业生涯规划书
2014/02/07 职场文书
给学校建议书范文
2014/05/13 职场文书
预备党员转正考核材料
2014/06/03 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
促销活动总结怎么写
2014/06/25 职场文书
部门活动策划方案
2014/08/16 职场文书
小学生作文评语集锦
2014/12/25 职场文书
民事上诉状范文
2015/05/22 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
话题作文之成长
2019/12/09 职场文书
Python数据类型最全知识总结
2021/05/31 Python