Python入门学习记录

Python  C7-7——古巴网络内容解析复盘和对比

2017-07-17  本文已影响0人  sinkpink

          看到大大的代码,发现自己的关注点出现了偏差。其实主要的内容和涉及的步骤有两方面

1、解析多个网站的内容,并存放内容;

2、解析同一网站的内容,并把其中链接到的网址内容一并解析出来并存好。

        自己的关注点放在了第一个上,预建立多个网站并存于列表中,用for循环解析每个网站的内容并存于字典中(为了实现网站和内容的对应),把字典序列化到文件中,然后再提取文件内容。

        而大大的代码侧重于2,把每个网站涉及的链接部分重新访问并解析至文件中,如果链接涉及的网页内容还有网址还会继续解析,做到对同一网页的持续解析。这个是自己没有想到、做到、不足的地方。

      以上是大大的代码:

1、导入re、urllib、urllib2、pickle模块;解析前面作业中的网址并存储在指定文件中;

2、定义一个变量,初始化为''——空字符的字符串变量;定义下载内容的空字典downs;

3、定义函数,用于访问遇到的链接并请求访问、打开和读取内容;将读取的内容返回给函数;

4、打开指定的解析文件,按行读取文件内容为列表并对内容格式化;在最后对正则表达替换的内容利用split分离换行符"\n";

5、for循环中根据文件内容进行抽取合法链接并调用所定义的函数,访问链接读取内容且存储到相应网址的字典中;

6、将抽取的内容序列化到文件中;

7、抽取文件中的内容(反序列化)到变量。

        其中使用了urllib2模块,在每天的资料查阅中大概看了下,没留意其用法也就没有想到任务中会用到。在资料的学习中任然要仔细思考,提高重视程度。

        定义函数的念头也只是一闪而过并未仔细思考,其实只要可以重复利用的部分都可以利用函数来返回值。在以后的学习和编码中多思考哪些部分可以用函数去表示,并多练习。

        其中urllib2.Request()表示对传递的url参数进行实例化——Request是一个类;urllib2.urlopen()表示对实例化的url对象访问服务器并打开这个网页;最后.read()对打开的对象进行读取。

        可以延伸想到的是,对同一个网页有很多深度链接的网址时,一直解析下去就是爬虫的原理,先解析门户网站的内容,然后挑出链接,继续解析,很复杂,可以想到的是定义解析的函数,利用while循环一直进行下去。

上一篇 下一篇

猜你喜欢

热点阅读