今天boss给了新需求,让我们根据之前的抓取网页的程序抓取所需的网页,然后再对该网页的源代码进行分析,获取指定标签的url。boss让我们先使用正则表达式和python去实现这个功能。
在程序编写的过程中遇到了很多的问题,首先来自于对正则表达式的学习,^这个符号表示某个字符必须在一个string的起始处,而$表示某个字符必须在一个String的结尾处。在弄的时候,以为^是表示String以^后面的字符为起始是一个无意义的符号。结果调试了半天没有弄明白。
而对于python对正则表达式的支持,包括p=re.compile(""), p.match(String), p.search(String), p.findall(string)。刚开始使用match,发现只返回一个值就停止了。这下遇到问题,我开始思考到底为什么match不能打印之后的内容。查文档,发现有个内容自己漏掉了,原来这个函数值要找到一个匹配项就停止了。只有findall才能够发现很多项。
调试的时候,发现了很多的问题。后来总结来说,一是自己不会调试,调试先用小数据调试,在变换数据类型调试,看看到底哪种数据产生什么输出,这样可定位问题产生的位置,分析该位置上的要素与其相邻要素产生了什么不互补连续的问题,便于修改要素,使程序互补连续;二是自己看资料的时候不够仔细,没有带着问题去看文档,一旦带着问题去看文档了,就能够注意到很多的细节问题,避免很多时间的浪费。