Python网络爬虫中的网页中文正则表达式匹配小心得
来源:互联网 发布:天子星软件 编辑:程序博客网 时间:2024/06/16 08:28
这是第一篇博客,关于在正则表达式的情况下通过python的re模块对爬虫爬下的网页数据进行正则表达式,匹配得出所有中文字符
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
def matchURL_info(): #对保存在data_based的数据进行筛选
try:
qp = open('data_base.txt', 'rb') #打开data_base.txt进行匹配
except:
print 'open data_base failed'
return 0
wp = open('result_final.txt', 'wb')
ep = open('result_final_1.txt', 'wb') #测试新的正则表达式
pattern = re.compile(u'[\u4e00-\u9fa5]+') #预编译敏感词的正则表达式 u"([\u4e00-\u9fa5]+)"
pattern_1 = re.compile(u'[\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff]+')
while 1:
s = qp.read()
if not s:
break
temp = s.decode('utf8')
result_info = pattern.findall(temp)
result_info_1 = pattern_1.findall(temp)
for r in result_info:
r_1 = r.encode('utf8')
wp.write('%s\r\n' % r_1) #往op中写入新文件
print r_1
for i in result_info_1:
i_1 = i.encode('utf8')
ep.write('%s\r\n' % i_1) #往ep中写入新的数据
print i_1
print 'i have been here'
qp.close()
wp.close()
ep.close()
return 1
matchURL_info()
本人通过在爬虫在本地生成一个data_base.txt文档,存储爬虫爬下的所有网页数据
然后通过这段代码打开这个文件
pattern与pattern_1是我为了测试不同正则表达式所设置的
大家使用时候可以去除其中一个
在测试时曾遇到过各种错误
包括NameError: global name 'decode' is not defined等错误,python文本中的格式是utf-8,而网页中的是unicode
所有第一步一定要将data_base.txt中的文本以二进制的形式读出
然后通过decode('utf8')将文件解码成unicode,此时开始正则表达式
匹配完之后通过encode('utf8')将数据编码成为utf-8的格式,写入本地的另一个文件之中
这就是最近的大概感想吧,谢谢收看
- Python网络爬虫中的网页中文正则表达式匹配小心得
- Python中的正则表达式匹配中文问题
- Python正则表达式处理中文中的匹配
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫:Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- [Python]网络爬虫(七):Python中的正则表达式教程
- Python网络爬虫-正则表达式
- python正则表达式匹配中文
- python正则表达式匹配中文
- 【C语言】处女作,学籍管理_v1.0
- Xcode模拟器上,网络正常,高德地图只显示方格,这是为什么呢?本人遇到的是如下情况.....
- 黑马程序员——IO流
- UVA 10361 Automatic Poetry
- 知识点总结
- Python网络爬虫中的网页中文正则表达式匹配小心得
- C语言开发总结(二十三)
- java Io操作分类整理(终于不再迷糊了!!!)
- Hadoop Serialization hadoop序列化详解(最新版) (1)【java和hadoop序列化比较和writable接口】
- 第三十七课 循环嵌套 【项目1-4】
- Oracle_数据库主机oracle账号被删除
- 二叉树广度遍历
- Android 系统稳定性 - ANR(一)
- JAVA面向对象之静态属性和方法