爬虫用于从网上得到目标数据,根据需要对其予以利用,加以分析,得到想要的实验成果。现在讲一讲我这两天学到的东西。

第一,爬虫的算法结构,包括以下几个方面:

(1)读取网络数据

(2)将获取的数据解析为目标格式,进而筛选出想要的数据

(3)将有用数据存于本地数据库中

第二,具体实施方案

(1)读取网络数据,需要用到urllib和urllib2两个库,和需要爬取数据的资源定位符URL。

通过url,将网页所有数据

1 request =urllib2.request(url)2 response =urllib2.response(request)3 html = response.read()

关于url的动态变化

1 url="http://wsbs.bjepb.gov.cn/air2008/Air1.aspx?time="

2 i=03 for tim in range(1364774400,1365206400,86400):4 i=i+1

5 if(i%180==0):6 time.sleep(15)7 ltime=time.localtime(tim)8 timeStr=time.strftime("%Y-%m-%d", ltime)9 url="http://wsbs.bjepb.gov.cn/air2008/Air1.aspx?time="

10 url=url+timeStr11 print url

(2)利用BeautifulSoup将获取的数据解析为目标格式,进而筛选出想要的数据

1 soup = BeautifulSoup(html,"html.parser")2 trs = soup.find("table",id="DaliyReportControl1_DataGridDataDic")3 length = len(trs.contents)

(3)利用Access,分三步:建立数据库连接 --> 打开一张表 --> 存储数据

1 importwin32com.client2 ##建立数据库连接

3 conn = win32com.client.Dispatch(r'ADODB.Connection')4 DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=D:/test.mdb;'

5 conn.Open(DSN)6 ##打开一个记录集

7 rs = win32com.client.Dispatch(r'ADODB.Recordset')8 rs_name = 'aircondition'#表名

9 rs.Open('[' + rs_name + ']', conn, 1, 3)10 print rs.RecordCount

*************

conn.Close()

1 for x in range(2,length-1):2 if(len(trs.contents[x].contents)==8):3 rs.AddNew()4 rs.Fields('Station').Value=trs.contents[x].contents[2].string5 rs.Fields('AQI').Value=trs.contents[x].contents[3].string6 rs.Fields('Pollutants').Value=trs.contents[x].contents[4].string7 rs.Fields('Grade').Value=trs.contents[x].contents[5].string8 rs.Fields('Air_quality').Value=trs.contents[x].contents[6].string9 rs.Fields('updatedate').Value=timeStr10 rs.Update()11 ## print str(x) + "***********8"

12 ## print trs.contents[x].contents[0].string + "," + trs.contents[x].contents[1].string + "," + trs.contents[x].contents[2].string + "," + trs.contents[x].contents[3].string + "," + trs.contents[x].contents[4].string + "," + trs.contents[x].contents[5].string + "," + trs.contents[x].contents[6].string + "," + trs.contents[x].contents[7].string

13 elif(len(trs.contents[x].contents)==7):14 rs.AddNew()15 rs.Fields('Station').Value=trs.contents[x].contents[1].string16 rs.Fields('AQI').Value=trs.contents[x].contents[2].string17 rs.Fields('Pollutants').Value=trs.contents[x].contents[3].string18 rs.Fields('Grade').Value=trs.contents[x].contents[4].string19 rs.Fields('Air_quality').Value=trs.contents[x].contents[5].string20 rs.Fields('updatedate').Value=timeStr21 rs.Update()22 ## print str(x) + "*******" + "7"

23 ## print trs.contents[x].contents[0].string + "," + trs.contents[x].contents[1].string +"," + trs.contents[x].contents[2].string + "," + trs.contents[x].contents[3].string + "," + trs.contents[x].contents[4].string + "," + trs.contents[x].contents[5].string + "," + trs.contents[x].contents[6].string

24 print "**************"+str(i)+"***********" + str(timeStr)+"**************"

时间关系,并没有很仔细的归纳。以后有机会再整理吧。

python爬虫实训心得_python爬虫的一些心得相关推荐

  1. python爬虫实训日志_Python学习学习日志——爬虫《第一篇》(BeautifulSoup)

    爬虫简介(学习日志第一篇) 一.爬虫介绍 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Pyyhon爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.U ...

  2. python小说爬虫实训报告_python之新手一看就懂的小说爬虫

    晚上回来学学爬虫,记住,很多网站一般新手是爬不出来的,来个简单的,往下看: import urllib.request from bs4 import BeautifulSoup #我用的pychar ...

  3. python课后实训答案_python课后练习题

    由于本人python学得太水,且最近心态浮躁,于是打算从0开始学习python,希望可以坚持. 01篇 答案 [测试题] 0.脚本语言Scripting language.与C语言/C++/JAVA语 ...

  4. python俄罗斯方块实训报告_Python 俄罗斯方块游戏

    附源码: from Tkinter import * from tkMessageBox import * import random import time # 俄罗斯方块界面的高度 HEIGHT ...

  5. python开发实训平台_一体化教学实训平台解决方案

    泰迪科技根据高校实践教学中的痛点,首次提出"鱼骨教学法"的概念.以企业真实需求为导向,学生学习技能紧紧围绕企业实际应用需求,将学生掌握的理论知识,通过企业案例的形式进行衔接,达到知 ...

  6. Python实训day04am【爬虫介绍、爬取网页测试、Python第三方库】

    Python实训-15天-博客汇总表 目录 1.文本文件编程题 2.爬虫(Scrapy) 2.1.安装第三方库 2.2.爬取网页测试 2.2.1.样例1 2.2.2.样例2 3.PyCharm导入第三 ...

  7. [JavaWeb实训Day4]__jsoup爬虫(爬新闻页面)词云的生成( kumo库)

    目录 一.本次实验分析过程 二.Jee连接MySQL数据库 三.异步传值及界面设计 四.jsoup爬虫爬取新闻网页 五.新闻词云的生成( kumo库) 六.存入数据库 快速链接:[JavaWeb项目实 ...

  8. python算法与程序设计基础(第二版)第八章实训答案_Python算法与程序设计基础(第2版)...

    章程序设计与计算思维 1.1程序设计与计算机语言 1.1.1程序设计 1.1.2设计步骤 1.1.3程序设计分类 1.1.4基本规范 1.1.5计算机语言 1.2计算机语言与计算思维的关系 1.2.1 ...

  9. python量化投资实训班_Python量化投资实训营

    配合大鱼金融联手塑造 清华导师领衔授课,全程在清华校园上课 五天掌握Python量化投资必备技能 Python量化投资实训营 五大课程亮点 1. 结构化课程与实战教学 要深入学习量化投资,不仅需要学习 ...

  10. python图书管理实训报告总结_图书管理系统心得-总结报告模板

    图书管理系统心得 为期两个星期的 c# 图书管理系统实习终于结束了,总算松了一口气,在这 短短的两周时间内承受了很大的压力现在终于能够得到"释放"了, 感觉到很轻 松. 回顾这两周 ...

最新文章

  1. 从 VC7 的 CHtmlView 不能正常退出谈 CComPtr 使用中的一个误区
  2. js判断复选框是否被选中
  3. centos ll 格式化时间_审理文书格式化的实践探索
  4. 从零实现深度学习框架——逻辑回归中的数值稳定
  5. php获取内容中第一张图片地址
  6. 关于vs2015每次打开都要配置opencv问题
  7. C4D插件X-Particles粒子特效(五)
  8. 可以将pdf转换成jpg图片格式的方法
  9. excel两列数据对比找不同_Excel | 如何核对两列/行数据,找不同?
  10. 深入浅出Embedding
  11. 本地电脑无法登陆路由器
  12. 在win服务器查看系统报错日志文件,win2003查看及管理系统日志的方法
  13. 安卓和iOS的兼容性问题: 键盘弹起时,固定在底部的按钮是否被弹到键盘上方
  14. JRE和JDK的区别(笔记)
  15. 稳定性和高可用如何保障?一手测评华为云网站高可用解决方案
  16. 计算机中的dump到底是什么意思?
  17. jdbc笔记(完整)
  18. 阿里云服务器ESSD云盘吞吐量IOPS及性能级别PL0、PL1、PL2和PL3参数说明
  19. 高级信息项目管理师规划
  20. 优质供应商选择标准_6供应商选择原则

热门文章

  1. 开启XP系统3389端口
  2. Java线程池系列--饱和策略(拒绝策略)的使用(有实例)
  3. mysql子查询语句多列_MYSQL 子查询返回多列显示
  4. Linux系统中的链接文件
  5. 查看本机 ssh 公钥,生成公钥
  6. Vue2项目视频控件大全,亲测有效
  7. 区块链前线@2019.2.18
  8. 交易员的胖手指导致美股暴跌
  9. mima.php密码找回,ecshop后台帐号密码忘记了如何找回
  10. MoveWindow