设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9683|回复: 3
打印 上一主题 下一主题

匹配中文字符

[复制链接]

7

主题

0

好友

127

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2016-11-19 18:00:35 |显示全部楼层 |倒序浏览
我在网上看到爬取百度贴吧的内容,自己写了一个:
其中:我想匹配:见附件一
我只能匹配出数字,不能匹配出汉子字符,搜索了半天,还是不行。
一下是匹配出数字的正则表达式:
  1.          
  2.     def getReply(self):
  3.         reply = self.getPage(1)
  4.         pattern = re.compile('<li class="l_reply_num".*?<span.*?>(.*?)</span>.*?>(.*?)</span>',re.S)
  5.         result = re.search(pattern, reply)
  6.         if result:
  7.             print result.group(1)


复制代码
这是我要爬取的网页地址:http://tieba.baidu.com/p/4558066833
对应的代码:见附件二


请问,我需要怎样做,才能匹配出:***回复贴,共**页  这种样式?
谢谢!

附件一.png (3.35 KB, 下载次数: 264)

附件一.png

附件二.png (16.99 KB, 下载次数: 271)

附件二.png

回复

使用道具 举报

7

主题

0

好友

127

积分

注册会员

Rank: 2

沙发
发表于 2016-11-21 17:04:46 |显示全部楼层
crossin先生 发表于 2016-11-21 14:49
数字是 \d

直接加上,简单粗暴。6666!
回复

使用道具 举报

7

主题

0

好友

127

积分

注册会员

Rank: 2

板凳
发表于 2016-11-21 17:11:12 |显示全部楼层
本帖最后由 Tony 于 2016-11-21 17:12 编辑

那这种呢?


代码如下:
  1. import urllib2
  2. import time
  3. import re
  4. class Page:
  5. def getTotalPageNum(self,url):
  6.         print self.getCurrentTime(),"正在获取目录页面个数,请稍候"
  7.         page = self.getPageByURL(url)
  8.         #匹配所有的页码数,\u4e0b\u4e00\u9875是下一页的UTF8编码
  9.         pattern = re.compile('<span>.*?<a class="more" style>.*?<a href.*?>(.*?)</a>', re.S)
  10.         match = re.search(pattern, page)
  11.         if match:
  12.             print match.group(1)
  13.             
  14.         else:
  15.             print self.getCurrentTime(),"获取总页码失败"


  16. page_1 = Page()
  17. page_1.getTotalPageNum(page_url)


  18. 需要爬取的地址:http://iask.sina.com.cn/c/83-all-1-new.html
复制代码
我写的正则不对,没有找出来,看了半天。都不知道是哪里出了问题。
谢谢!

爬新浪知识.png (35.51 KB, 下载次数: 232)

爬新浪知识.png

爬新浪知识_2.png (2.33 KB, 下载次数: 253)

爬新浪知识_2.png

回复

使用道具 举报

7

主题

0

好友

127

积分

注册会员

Rank: 2

地板
发表于 2016-11-23 13:33:52 |显示全部楼层
hymyg 发表于 2016-11-23 08:55
不好意思,笔误

对了,成功了,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-20 05:51 , Processed in 0.021419 second(s), 29 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部