
似乎又有一段时间没写过东西,主要是最近在做一个项目中的爬虫部分,应为之前恰好在看scrapy框架,所以这次也就钦定它了。
之前曾经写过一个关于用scrapy框架进行爬取帖子的小爬虫,所以这里就对之前写过的部分不再赘述了,这里我主要想说的是关于这次项目中的爬虫中的一些新东西。
这次的爬虫中,我们把要爬的目标选定为天涯论坛,同时将要爬取的内容限定在“我要发帖”类型的帖子中,因为之前经过考察,发现还有像“我要提问”这样的帖子,他们的网页布局是不同的,所以为了方便,我们在这里就先限定一下,简单一些。
因为在之前的试水中,我们放弃了对于帖子的其他基本信息,回复以及评论的爬取,所以今天我们就来把这些部分搞定。
爬取一个帖子的基本信息
之前我们只对帖子的url,标题,文章内容进行了爬取。今天,我打算把
- 帖子标题
- 帖子url
- 帖子作者ID
- 帖子作者
- 帖子发布时间
- 帖子正文
- 回帖数
- 浏览量
- 最后回帖时间
都爬取下来,以上部分没什么难度,只是项目要求的内容。只需要把分析网页结构把各个部分的xpath找好就行了。
爬取帖子的回复部分
接下来就是关于上一次被我忽略的部分,关于对回复以及二级评论的爬取
————————————————————————————这是已经两个月之后的分割线————————————————————————————————
我就简单阐述一下原理吧:
对每条帖子进行是否还有下一页的检测,来爬取全部内容(包括回复和评论);对于更新的处理,打算将爬虫设置为每隔一段时间自动执行(sleep函数),并且在每次执行时记录下当前最新帖子的时间,在下一次执行爬虫时,将帖子的发布时间与记录的时间进行对比,只爬取更新时间在记录时间后的帖子,同时记录下新的最新时间;针对明确对帖子的回复和对回复的评论的关系,建立一个存储帖子回复的list,然后再建立一个存储评论的list,该list中的每一项都是一个list来对应每一条回复的所有评论。
最后将所有数据存入数据库中
具体代码请访问github




近期评论