这几天脑子里一直在想一个应用,想以此来练习python。用一句话来概括这个应用的功能,大致表述是这样:自动采集全省各类公共文化机构网站上新发布的信息,并分类呈现。各类公共文化机构,是指公共图书馆、文化馆、博物馆。新发布的信息主要是指各个网站每天发表的新闻。把这些新闻的标题、链接和发布时间自动抽取出来,集中在自己的网站显示。

思路如下:

(1)建立一个公共文化机构网站的列表;

(2)针对每一个网站,确定要抽取的信息所在的页面网址;

(3)对每一个网面的源码进行分析,建立抽取对应网页信息的规则;

(4)按照规则,在对应网页上,抽取需要的信息;

(5)将抽取到的信息以某种形式保存下来;

(6)将保存下来的信息进行整理、发布。

概括来说,就是要在指定网页上抽取指定内容。以上这些功能,有款叫做“八爪鱼采集器”已经做得很人性化了。我们的目标是学习pathon,所以准备自己动手试试,看能做到什么程度。

第一步和第二步不存在什么问题,可以通过某中心网站或搜索引擎来完成。

工作量最大的部分应该是第三步。这里需要对第二步确定的页面逐个分析,每一条规则可以用正则表达表表示,最终形成一个规则表达式的列表,每一条规则表达式对应一个网站的指定页。由于大部分网站都有这样一个页面,上面有发布信息的列表;而我们的目的是取得这个信息列表中每一个标题所指向的链接中的内容。故这里应需要分成两项工作:一是将信息列表中的标题和对应的链接抽取出来;二是进入刚刚得到的链接,将其中的内容提取出来。

第四步可以自动处理,不需要人工干预。这里需要确定采取什么样的数据结构以保存抽取到的信息。

第五步需要确定保存信息的文件形式,是文本文件?XLS表格?还是数据库文件?

第六步是另外一项工作,重点是确定在什么样的平台,以什么样的界面,将数据文件内容显示出来。传统WEB,还是瀑布流,或者在微信公众平台?

----------------------------

python学习(二)的更多相关文章

  1. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  2. Python学习二---字符串

    一.字符串 1.1.字符串和转义字符 转义字符需要使用\来表示 1.2.字符串连接 print 字符串1 字符串2,打印出来的字符串直接连接在一起没有空格 print 字符串1,字符串2,打印出来的字 ...

  3. Python学习(二) 运行Python,编译Python

    无论windos还是Linux只要安装了python,配置好了环境变量,则在命令行输入python这个命令的时候就会进入交互模式.在这个模式下可以进行一些简单的python代码编写.退出可以使用exi ...

  4. python 学习二

    什么是JSON,JSON 是一种轻量级的数据格式,其实就是字符串 把字符串转换为字典用 json.loads() import jsons = '{"aa":1,"bb& ...

  5. Python学习二十八周(vue.js)

    一.指令 1.一个例子简单实用vue: 下载vue.js(这里实用1.0.21版本) 编写html代码: <!DOCTYPE html> <html lang="en&qu ...

  6. Python学习二(生成器和八皇后算法)

    看书看到迭代器和生成器了,一般的使用是没什么问题的,不过很多时候并不能用的很习惯 书中例举了经典的八皇后问题,作为一个程序员怎么能够放过做题的机会呢,于是乎先自己来一遍,于是有了下面这个ugly的代码 ...

  7. python学习[二]

    继续学习 http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html 词典的每个元素是键值对.元素没有顺序.dic = {'tom':11 ...

  8. Python学习(二):函数入门

    1.函数代码格式: def 函数名(): 函数内容 执行函数:函数名() 2.代码举例: #!/usr/bin/env python #coding=utf-8 #定义函数 def Func1(): ...

  9. Python学习二|Python的一些疑问

    最近写了一点Python代码,作为一个java程序员,面对Python这么便捷的语言不禁有点激动.不过呢,有时候也会遇到一些无法理解的东西. 例如: er = [[1,2,3], [4,5,6], [ ...

  10. Python学习二

    list  [ ] Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素 classmates = ['Michael', 'Bob', 'Tracy ...

随机推荐

  1. AngularJS自定义表单控件

    <!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...

  2. Android面试题(文章内容来自他人博客)

    腾讯面试题 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); ...

  3. php 之mysqli简单封装

    1:DBHelper.class.php <?php class DBHelper{ private $mysqli; private static $host='127.0.0.1'; pri ...

  4. python的工作记录B

    这次很强了.就差最后一步,判断一下SVN的版本是否是真的库里的. #!/usr/bin/env python # -*- coding: utf-8 -*- import os,sys,command ...

  5. jquery判断checkbox是否选中

    $('input:checkbox').click(function () { if ($("#chkPile").is(":checked")) { $(); ...

  6. poj1284:欧拉函数+原根

    何为原根?由费马小定理可知 如果a于p互质 则有a^(p-1)≡1(mod p)对于任意的a是不是一定要到p-1次幂才会出现上述情况呢?显然不是,当第一次出现a^k≡1(mod p)时, 记为ep(a ...

  7. 基于PCA和SVM的人脸识别系统-error修改

    ------------------------------------------------- Undefined function or variable 'W'. Error in class ...

  8. poj 3176 Cow Bowling(dp基础)

    Description The cows don't use actual bowling balls when they go bowling. They each take a number (i ...

  9. python (3):wxPython打包app,报错

    1,打包app报错 如图: 使用py2app,mac下打包成app.异常.程序直接退出. 没有详细的错误信息,client程序直接崩溃了. 2.原因 代码没有几行: #!/usr/bin/python ...

  10. 绘制更Smooth的UI

    以前很长一段时间,在自定义控制绘制时,只是简单的定义一个QPainter对象而开始绘画.经常会画一些圆角矩形,甚至是一些不规则的图形.对于不规则的图形来说,如果PS技术不好,或者mask制作的不好,常 ...