(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:数据完整,一个也没有漏掉,这样可以将这些内容写入到数据库,就相当于在本地有了论坛的数据部分。

抱歉,本来说好晚上更新的,没想到和朋友出去吃点饭弄的这么晚

下期更新,如果用本地用户名,密码的方式访问网站。敬请期待。。。

原文地址:https://www.cnblogs.com/codefish/p/2775547.html