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

2015-07-23 14:30:55 +08:00
 RaymondchanGE
<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~
2721 次点击
所在节点    Python
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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/207799

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX