剑侠情缘3网络版贴吧爬虫开发日记

  |  
 阅读次数

Github上项目地址:JX3Spider

开发原因

某段时间,博主沉迷剑3无法自拔,说到剑3就不得不提贴吧的818、树洞等帖子(这些帖子其实上讲的就是玩游戏的人因为这个游戏遇到的一些趣事,比如游戏中的情缘,也就是情侣,现实中奔现遇到的一些值得撕逼的事,又或者游戏中一些帮派的事情。反正这些事情基本上都可以当成小说来看了,看了后根本停不下来。),而这些帖子的魅力实际上比游戏本身还要迷人,以至于到现在博主由于时间紧凑,已经弃坑剑3快4个月了,却依然在追贴吧818、树洞,但是不得不佩服贴吧的各位发帖实在太快了,据博主写的爬虫每天统计差不多,每天都有10个以上的相关类型帖子发布,多的时候甚至50多个都有可能,然而由于还有人发其余类型的帖子(交易、攻略等),导致很难观看到每日的所有818、树洞的帖子,往往看帖子的过程中大部分时间浪费在了找帖子上面。因此萌发了,开发爬虫记录自动抓取每日更新的帖子的原因。

实战开发

百度贴吧url

1
2
3
http://tieba.baidu.com/f?kw= cardName &ie=utf-8&pn= page * 50
# example : http://tieba.baidu.com/f?kw= 剑网3 &ie=utf-8&pn= 50
# 剑网3 帖子第一页

帖子url

1
2
http://tieba.baidu.com/p/ cardid ?see_lz=1&pn= page
# example : http://tieba.baidu.com/p/4818703098?see_lz=1&pn=1

帖子标题筛选

1
2
3
4
5
$tag = '/a href=".*" title=".*"/'; # 筛选帖子
$tag_card_url = '/[0-9]+/';# 提取帖子id
$tag_card_title = '/e=".*" t/'; # 帖子名字
$tag_get_rel_title = '/[^"]{10,1000}/'; # 帖子的真正名字
$tag_choose='/.*(818|树洞).*/'; # 判断包含818 或者 树洞 的帖子

帖子id记录

1
$id_arr = array(); #用于判断帖子是否已经收录

帖子定时推送Github

1
2
3
4
exec("git pull origin master",$out);
exec("git add -A",$out);
exec("git commit -m \"".date('Y-m-d H:i:s',time())."\"",$out);
exec("git push origin master",$out);

项目文件说明:

  • getJX3818.php 抓取帖子
  • pushControl.php 定时更新推送github
  • devide.php 帖子分类