免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3024 | 回复: 4
打印 上一主题 下一主题

【求助】为什么正则匹配得出的变量不能继续匹配获得想要的数据? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-27 20:19 |只看该作者 |倒序浏览
各位chinaunix的朋友们,大家好。今天继续寻求您们的帮助。

今天试着用python写了个获取百度贴吧帖子第一页内容的小玩意,但是,很奇怪,在用正则取得楼主名字之后,却无法再使用楼主的名字继续获得楼主发表的内容;而通过手工指定却可以。具体代码如下:
  1. #!/usr/bin/python
  2. #coding:utf-8

  3. import re,urllib2,sys

  4. def html_to_text(html):
  5.     html = re.sub(r'<p>(.*?)</p>', r'\1\n', html)
  6.     html = re.sub(r'<br>', r'\n', html)
  7.     html = re.sub(r'\n\n', r'\n', html)
  8.     html = re.sub(r'<[^<>]*>', '', html)
  9.     html = html.replace('\r', '')
  10.     return html.strip()

  11. url = 'http://tieba.baidu.com/p/1294878714'
  12. a = urllib2.urlopen(url).read()

  13. #开始创建文件
  14. fp = open('tstsss.txt','w')

  15. #开始找楼主
  16. findlouzhu = re.findall(r'author:.*',a,re.M)

  17. louzhu = ''
  18. for louzhu in findlouzhu:
  19.     louzhu = re.sub(r'author:"', r'', louzhu )
  20.     louzhu = re.sub(r'",',r'',louzhu )

  21. #看看楼主是谁
  22. print louzhu

  23. #此处很奇怪,从正则表达式匹配出来的楼主,和下面赋值的时一样的,但是,
  24. #下面如果使用正则表达式匹配取得的变量的话,却无法取得内容并生成内容。
  25. #而使用手动赋值的话,确可以获取到楼主的发布的内容。这是什么原因?
  26. #louzhu = 'pbs6666'

  27. content = re.findall(r'<li class="d_name">.*?</cc>',a,re.M|re.S)
  28. for i in content:
  29.     if re.search(louzhu,i):
  30.         abc = re.findall(r'<cc>.*?</cc>',i,re.M|re.S)
  31.         for j in abc:
  32.             fp.write(html_to_text(j)+'\n')
  33. fp.close()
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-11-28 14:21 |只看该作者
你获得的字符串中包含了空格
将re.search(louzhu, i)
改为re.search(louzhu.strip(), i)

论坛徽章:
0
3 [报告]
发表于 2011-11-28 14:21 |只看该作者
你获得的字符串中包含了空格
将re.search(louzhu, i)
改为re.search(louzhu.strip(), i)

论坛徽章:
0
4 [报告]
发表于 2011-11-28 17:40 |只看该作者
回复 3# lixinyong0412

非常感谢您的回复,原来是这样子的啊。谢谢!

论坛徽章:
0
5 [报告]
发表于 2011-11-28 21:18 |只看该作者
解析网页,建议用BeautifulSoup
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP