V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
RaymondchanGE
V2EX  ›  Python

Python 爬虫~新人求助~~关于正则表达式匹配部分

  •  
  •   RaymondchanGE · 2015-07-23 14:30:55 +08:00 · 2719 次点击
    这是一个创建于 3438 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <ins class="adsbygoogle"
    style="display:inline-block;width:300px;height:250px"
    data-ad-client="ca-pub-2857117334421219"
    data-ad-slot="8229501918"></ins>
    <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
    </div>
    <p>前不久,地球村发生了一起震惊村民的事件,是说中国常州某27岁女子,通宵玩机,不幸猝死,死前的手机屏上,居然还停留在了淘宝的界面。另外,又有一则新闻报道,说在长深高速公路上,某轿车突然爆胎,丈夫下车修理,妻子则在一旁用手机拍照,发朋友圈,不幸被撞身亡。</p>
    <p>对此,我们似乎可以得到一个简单粗暴却又无比正确的结论——如果没有手机,这两位女子都能够活得好好的,过着相夫教子的幸福生活。然而,手机真是以上事件的幕后元凶么?我想,不管是柯南来华,还是狄仁杰在世,都未必会同意。</p>
    <p>众所周知,如今的手机,就像是三百年前发明的避孕套一样,已经彻底地改变了人类的生活。打个简单的比方吧,现在的00后,对笔友这种生物,恐怕已经像是对四大天王或音乐磁带一样无比陌生了吧。想当初,还在念中学的我们,每个人都至少拥有一个笔友,就像现在某些有钱人圈养小三一样,是一种时尚而且长脸的标配。</p>
    <p>罗素说过:须知参差多态乃是幸福的本源。手机作为一种现代文明的工具,只是提供了多一种可能的生活方式而已。对于手机,或许我们应该有大禹治水的理念:疏而不堵;也应该有对待同性恋的精神:兼爱无差。当然,最重要的是有对待老祖宗文化的官方指导思想:取其精华,去其糟粕,从而让机不离手的同时见机行事,继而不失时机地拥抱那更加智能的未来。</p>
    <p><img class="alignnone" src="http://7bv920.com1.z0.glb.clouddn.com/sjk.jpg" alt="手机控" width="500" height="332" /></p>
    <p><span style="color: #808080;"><strong>左岸记:</strong>各种控的出现都是对以前生活习惯的某种颠覆,尤其是个性化器物的出现,以个体为中心的应用达到了登峰造极的地步,而器的精致是因为器本身加入了更多人类情感,这让人更迷恋器的本身了。几乎没有人能逃离每一场技术的革命,我们要做的是利用好手中的工具,而不是被工具绑架,成为它的奴隶。离开器,必须找到器之上的道,就像我们要不是相机而要记录此刻的时光,所谓君子不器是也。</span></p>
    <div class="wumii-hook">
    <input type="hidden" name="wurl" value="http://www.zreading.cn/archives/4993.html" /><br />


    文章结构大概是这样。打算把网页文章爬下来。到了爬去正文的时候正则怎么也匹配不了。~~·
    apatterns = ('window.adsbygoogle(.*?)<p>(.*?)(</p></blockquote>\s+<div class="wumii-hook">)|(</span></p>\s+<div class="wumii-hook">)')

    正文有何诺<p></p>不知道是不是这些而读取不了
    [(u'', u'', u'</span>\n\n<div class="wumii-hook">')]这是正则匹配的结果
    调了好久,麻烦各位懂的大神给指点一下,thanks~
    1 条回复
    usedel
        1
    usedel  
       2015-07-23 17:55:33 +08:00
    我是通过两个正则表达式来做,看有没有大神可以一个正则表达式就做到
    #coding=utf-8

    import re
    import urllib2
    import sys

    reload(sys)
    sys.setdefaultencoding("utf-8")

    url = "http://www.zreading.cn/archives/4993.html"
    htmlCode = urllib2.urlopen(url).read()

    #提取文章部分html
    pattern = re.compile(r'window\.adsbygoogle([\s\S]*?)<div class="wumii-hook">',re.M)
    res = re.findall(pattern, htmlCode)

    #从每个p标签中提取文章
    pattern = re.compile(r'<p>(.*?)<')
    for p in res:
    art = re.findall(pattern,str(p))
    for x in art:
    print x
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2793 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:56 · PVG 10:56 · LAX 18:56 · JFK 21:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.