python使用正则表达式编写网页小爬虫
来源:互联网 发布:企业成本核算软件 编辑:程序博客网 时间:2024/05/18 03:01
"""
文本处理是当下计算机处理的主要任务,从文本中找到某些有用的信息,
挖掘出某些信息是现在计算机程序大部分所做的工作。而python这中轻量型、小巧的语言包含了很多处理的函数库,
这些库的跨平台性能很好,可移植性能很强。
在Python中re模块提供了很多高级文本模式匹配的功能,以及相应的搜索替换对应字符串的功能。
"""
"""
正则表达式符号和特殊字符
re1|re2 -----> 匹配正则表达式的re1或者re2
. -----> 可以匹配任何字符,但是除了换行符之外
^ -----> 匹配字符创的开始 ^Dear
$ -----> 匹配字符串的结尾 /bin/*sh$
* -----> 匹配前面出现的正则表达式零次或者多次 [A-Za-z0-9]*
+ -----> 匹配前面出现的正则表达式一次或者多次 [A-Za-z0-9]+ [a-z]+\.com
? -----> 匹配前面出现的正则表达式零次或者一次 goo?
{N} -----> 匹配前面出现的正则表达式N次 [0-9]{N}
{M,N} -----> 匹配重复出现M次到N次的正则表达式 [0-9]{3,5}
[...] -----> 匹配字符组中出现的任意一个字符 [aeiou]
[...x-y...]-----> 匹配从字符x到y中的任意一个字符 [0-9],[A-Za-z]
[^...] -----> 不匹配此字符集中出现的任何一个字符,包括某个范围的字符 [^A-Za-z0-9_]
(*|+|?|{})? -----> 用于上面出现的任何"非贪婪版本"重复匹配的次数符号 .*?[a-z]
(...) -----> 匹配封闭括号中正则表达式(RE),并保存为字数组 ([0-9]{3})?,f(oo|u)bar
"""
import rep=re.compile('ab*');print p;r1=r'\d{3,4}-?\d{8}';print re.findall(r1,'010-12345678');print re.findall(r1,'010-00000000');r2=re.compile(r'[Cc][Ss][Vv][Tt]');r3=re.compile(r'csvt',re.I);print r3.findall('cSvT');test_r=r'(abc/[0-9]{8,8}$)';print re.findall(test_r,'abc/12345678');
"""
使用正则表达式进行一个网页爬虫
"""
headers={ 'Connection': 'Keep-Alive', 'Accept': 'text/html, application/xhtml+xml, */*', 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'};import urllib2url='http://blog.csdn.net/berguiliu';req=urllib2.Request(url);req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko');Browser=urllib2.urlopen(req);data = Browser.read();re_blog_list=re.compile(r'href="(/berguiliu/article/details/[0-9]{8,8})">');url_list=re.findall(re_blog_list,data);import cookielibdef makeMyOpener(head): cj=cookielib.CookieJar(); opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)); header=[] for key, value in head.items(): elem=(key, value) header.append(elem) opener.addheaders=header; return opener oper = makeMyOpener(headers);uop = oper.open('http://www.baidu.com/', timeout = 1000);data = uop.read();print data;import time;for subUrl in url_list: new_Url='http://blog.csdn.net'+subUrl; print new_Url; oper = makeMyOpener(headers); uop = oper.open(new_Url, timeout = 1000); data = uop.read(); time.sleep(3)
这个程序主要是通过抓取网页,分析一下网页信息,找到自己感兴趣的部分, 就可以找到其对应的信息,进行相应的操作!
- python使用正则表达式编写网页小爬虫
- Python+正则表达式编写多线程百度贴吧网页爬虫
- 正则表达式,网页爬虫
- Python爬虫 正则表达式
- Python爬虫-正则表达式
- python爬虫-正则表达式
- [python]网页小爬虫
- [Python]爬虫,正则表达式解析网页及Json序列化
- 正则表达式—网页爬虫
- 正则表达式(网页爬虫)
- 正则表达式(网页爬虫)
- 【爬虫】正则表达式解析网页
- Python 爬虫小程序(正则表达式的应用)
- 用python编写网页爬虫
- Python爬虫urllib2笔记(三)之使用正则表达式提取百度贴吧网页中的楼主发的图片
- Python 爬虫 正则抽取网页数据和Scrapy简单使用
- Python爬虫之正则表达式
- python爬虫之正则表达式
- Android六大类进程介绍
- 有关输出对齐格式
- android-四种基本布局
- 1001. A+B Format (20)
- Hibernate学习总结
- python使用正则表达式编写网页小爬虫
- C++:const_cast类型转换
- 多python随机数函数的分析
- 天池大数据竞赛——UI特征统计
- 注意:C语言中没有指定同一运算符的多个操作数或者某函数各个参数的求值顺序,如果代码的执行结果和求值顺序有关,都是不好的程序设计风格。
- nyoj-1055-小鱼儿的难题
- Activity跳转Flag详解
- 数据结构之排序_1
- yayaxueyu