(2)个人使用小爬虫---------关于一次被论坛封号而搜索的思考
上次说到关于已经成功得到数据了。
请看第一期链接:http://www.cnblogs.com/codefish/archive/2012/11/17/2774911.html
那现在就是如何利用正则表达到获取相应的标签部分了,请看标签的格式
<a href="htm_data/7/1211/828353.html" target="_blank" id="">[双十精选11.17] 这是神马电影?你们是不是过分低估了观众的智商啊?[20P]</a>
以<a>开始,</a>结束
那简单的正则表达就应该是
<a href="htm_data.+>.+</a>
但是显然,这样的会将所有部分都包含进去了,并且这样的使用的是贪婪模式,没有进行特定字符的锁定的。
观察得到,所有的字符都是
<h3><a href=\"(htm_data/[0-9]{1,3}/[0-4]{1,4}/[0-9]{1,10}.html)\" target=\"_blank\" id=\"\">(.{1,50})</a></h3>
为什么要这样写:
第一,这样写将特定的部分总结出来,
htm_data/[这里要锁定数字]
id=\"\">(.{这里要锁定字符部分})
第二,需要根据出现的字符数时时的去改变范围
比如这里的部分
<h3><a href=\"(htm_data/[0-9]{1,3}/[0-4]{1,4}/[0-9]{1,10}.html)\" target=\"_blank\" id=\"\">(.{1,50})</a></h3>
因为出现的最大字符数并不确定,而且不能包含到下一个出现的匹配字符,这样不会影响结果。
OK:数据完整,一个也没有漏掉,这样可以将这些内容写入到数据库,就相当于在本地有了论坛的数据部分。
抱歉,本来说好晚上更新的,没想到和朋友出去吃点饭弄的这么晚
下期更新,如果用本地用户名,密码的方式访问网站。敬请期待。。。