python python 入门学习之网页数据爬虫搜狐汽车数据库
自己从事的是汽车行业,所以首先要做的第一个程序是抓取搜狐汽车的销量数据库(http://db.auto.sohu.com/cxdata/);
数据库提供了07年至今的汽车月销量,每个车型对应一个xml数据,比如速腾的销量:http://db.auto.sohu.com/xml/sales/model/model1004sales.xml
现在需要做的是遍历所有车型,以这个格式保存 ‘车型----日期----销量’。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib2,string,re,time
j=0
file = open('D:\Program Files\Notepad++Portable\App\Notepad++\databasesohu.txt','r').read()
f=file.split('\n')
for n in range(0,len(f)):
#开始访问
if f[n]<> "":
j=j+1
wb=urllib2.urlopen('http://db.auto.sohu.com/xml/sales/model/model'+str(f[n])+'sales.xml').read()
#获取车型名字
code=wb[wb.index('name=')+6:wb.index('">')]
model=f[n]+"---"+code
#print model #标记用的
reg='sales date=.(.*?). salesNum=.(.*?)./>'
#正则表达式
list=re.compile(reg).findall(wb)
for i in range(len(list),0,-1):
lt=list[i-1]
lt=lt[0]+"---"+lt[1]
Mdata=model+"---"+lt
print Mdata
file1 = open('D:\Program Files\Notepad++Portable\App\Notepad++\save.txt','a')
file1.write(Mdata+ '\n')
file1.close()
#时间延迟
time.sleep(0.5) else:
print 'over'
print j
file = open('D:\Program Files\Notepad++Portable\App\Notepad++\databasesohu.txt','r').read()
f=file.split('\n')
打开车型代码大全,并用换行符分割
wb=urllib2.urlopen('http://db.auto.sohu.com/xml/sales/model/model'+str(f[n])+'sales.xml').read()
然后开始遍历车型,用URLlib2进行访问,获取汽车名称model。
用正则表达式获取日期及销量(此处也可以用xml处理来获得)。
将数据保存至text文档。
新手需要注意的问题是 python中文件的读取的方法,此处用的open(,'a'),就是add的意思。
参考:http://www.cnblogs.com/allenblogs/archive/2010/09/13/1824842.html
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738281887b88350bd21544e6095d55eaf54cac23f000
python python 入门学习之网页数据爬虫搜狐汽车数据库的更多相关文章
- python python 入门学习之网页数据爬虫cnbeta文章保存
需求驱动学习的动力. 因为我们单位上不了外网所以读新闻是那么的痛苦,试着自己抓取网页保存下来,然后离线阅读.今天抓取的是cnbeta科技新闻,抓取地址是http://m.cnbeta.com/wap/ ...
- 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...
- python 入门实践之网页数据抓取
这个不错.正好入门学习使用. 1.其中用到 feedparser: 技巧:使用 Universal Feed Parser 驾驭 RSS http://www.ibm.com/developerwor ...
- 第15.37节 PyQt(Python+Qt)入门学习:containers容器类部件QMdiArea多文档界面部件详解及编程开发案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 老猿在前期学习PyQt相关知识时,对每个组件的属性及方法都研 ...
- 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解
老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...
- 【python】入门学习(十)
#入门学习系列的内容均是在学习<Python编程入门(第3版)>时的学习笔记 统计一个文本文档的信息,并输出出现频率最高的10个单词 #text.py #保留的字符 keep = {'a' ...
- 第15.41节、PyQt(Python+Qt)入门学习:输入部件QComboBox组合框功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 Designer中输入工具部件中的Combo Box组合框与 ...
- 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...
- 第15.36节 PyQt(Python+Qt)入门学习:containers容器类部件QFrame框架部件介绍
一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有如下: 容器中的Frame为一个矩形的框架对象,对应类QFrame,QFrame类是PyQt中带框架 ...
随机推荐
- 移动端自动化环境搭建-Robot Framework的安装
A.安装依赖 RF框架,robotframework本身. B.安装过程 可以通过下载 exe 程序进行安装,Robot Framework 分别提供了,win-amd64.exe 和 win32.e ...
- vc 获取网络时间
方式1 : #include <WinSock2.h> #include <Windows.h> #pragma comment(lib, "WS2_32" ...
- Mybatis分页插件
mybatis配置 <!-- mybatis分页插件 --> <bean id="pagehelper" class="com.github.pageh ...
- scala-尾递归
------------------------- by chenkh ----------------------------- 随笔记录什么是尾递归,为什么需要尾递归,尾递归show by exa ...
- CSS特殊性值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CentOS6.5上安装MySQL5.6
1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/data,而后需要创建/data/mysqldata目录做为mysql数据的存放 ...
- 构建winform控件数据缓存器
DataBindingHelper使用手册 1.引用Rabbit.Core.dll文件 也就是我自己编写的功能库Rabbit.Core.dll呵呵. Rabbi.Core.DLL密码:dgqv ...
- Beat版本分工
柯晓鸿031302613:负责服务器的搭建,struts2框架的配置,后台与页面的连整合,部分后台接口,数据库连接查询接口,以及页面js的书写 比例:40% 洪腾飞031302608:负责主要界面的书 ...
- MFC 使用位图按钮,并且设置按钮的鼠标悬停效果
系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块.VC中自带了CBitmap ...
- typeahead.js 使用记录
github地址:https://github.com/twitter/typeahead.js 在aceAdmin界面模板中,有typeahead这一控件,版本号为0.10.2 , 这个版本对 mi ...