由于新浪微博开放平台API中没有开放根据关键词搜索微博的功能,而是提供了微博搜索web界面(http://s.weibo.com/),故而从此下手,实现新浪微博的定向采集。本文记录下这儿的技术要点:
-
搜索目标关键词要进行连续两次unicode编码
- 抓取回来的页面要进行unicode到utf8转码
- 微博内容不在body标签中,而在最下面的script标签中,无法实现xpath解析,只能使用正则表达式
- 利用正则解析提取指定内容时,需注意页面换行符,使用([\\s\\S]*?)代替(.+?),否则提取不到内容
- 微博搜索页面内含多条微博内容,每条微博内容并无对应url地址