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

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

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

posted @   爱吃猫的鱼  阅读(538)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示