使用python和正则表达式获取url,及总结
2012-08-14 21:41
741 查看
今天boss给了新需求,让我们根据之前的抓取网页的程序抓取所需的网页,然后再对该网页的源代码进行分析,获取指定标签的url。boss让我们先使用正则表达式和python去实现这个功能。
在程序编写的过程中遇到了很多的问题,首先来自于对正则表达式的学习,^这个符号表示某个字符必须在一个string的起始处,而$表示某个字符必须在一个String的结尾处。在弄的时候,以为^是表示String以^后面的字符为起始是一个无意义的符号。结果调试了半天没有弄明白。
而对于python对正则表达式的支持,包括p=re.compile(""), p.match(String), p.search(String), p.findall(string)。刚开始使用match,发现只返回一个值就停止了。这下遇到问题,我开始思考到底为什么match不能打印之后的内容。查文档,发现有个内容自己漏掉了,原来这个函数值要找到一个匹配项就停止了。只有findall才能够发现很多项。
调试的时候,发现了很多的问题。后来总结来说,一是自己不会调试,调试先用小数据调试,在变换数据类型调试,看看到底哪种数据产生什么输出,这样可定位问题产生的位置,分析该位置上的要素与其相邻要素产生了什么不互补连续的问题,便于修改要素,使程序互补连续;二是自己看资料的时候不够仔细,没有带着问题去看文档,一旦带着问题去看文档了,就能够注意到很多的细节问题,避免很多时间的浪费。
在程序编写的过程中遇到了很多的问题,首先来自于对正则表达式的学习,^这个符号表示某个字符必须在一个string的起始处,而$表示某个字符必须在一个String的结尾处。在弄的时候,以为^是表示String以^后面的字符为起始是一个无意义的符号。结果调试了半天没有弄明白。
而对于python对正则表达式的支持,包括p=re.compile(""), p.match(String), p.search(String), p.findall(string)。刚开始使用match,发现只返回一个值就停止了。这下遇到问题,我开始思考到底为什么match不能打印之后的内容。查文档,发现有个内容自己漏掉了,原来这个函数值要找到一个匹配项就停止了。只有findall才能够发现很多项。
调试的时候,发现了很多的问题。后来总结来说,一是自己不会调试,调试先用小数据调试,在变换数据类型调试,看看到底哪种数据产生什么输出,这样可定位问题产生的位置,分析该位置上的要素与其相邻要素产生了什么不互补连续的问题,便于修改要素,使程序互补连续;二是自己看资料的时候不够仔细,没有带着问题去看文档,一旦带着问题去看文档了,就能够注意到很多的细节问题,避免很多时间的浪费。
相关文章推荐
- JS使用正则表达式获取URL参数
- js使用正则表达式从url中获取参数值
- 正则表达式的简单语法及常用正则表达式 举例使用jquery获取url指定参数
- php使用正则表达式获取图片url的方法
- 总结一下python正则表达式中的变量使用问题
- python+正则表达式获取ed2k url
- php使用正则表达式获取字符串中的URL
- 正则表达式的简单语法及常用正则表达式 举例使用jquery获取url指定参数
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
- python使用正则表达式提取网页URL的方法
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
- Python使用正则表达式获取网页中所需要的信息
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
- python+正则表达式获取ed2k url
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
- python使用正则表达式解析http url
- 使用正则表达式获取url中的中文参数值出现乱码问题
- python-19:使用正则表达式从源码中获取想要的内容