听同学说Jsoup用来做爬虫非常好用,而且它的selector几乎能够代替正则,对于苦苦学习爬虫技术的我,简直就像天上掉下的馅饼。
我现在想解决的第一个问题是,提取文章所在的地址。需要用到的技术有:
一、用正则抽取符合条件的html语句;
二、在语句中筛选出地址;
三、在语句中筛选出文章的标题。
解决办法:
一、使用Jsoup的selector
http://jsoup.org/apidocs/中的selector
其中这句能够解决问题
语句 解释 例子
[attr~=regex] | elements with an attribute named "attr", and value matching the regular expression | img[src~=(?i)\\.(png|jpe?g)] |
The above may be combined in any order | div.header[title] |
我的例子:select("a[title~=讲话]")意思是a标签后面包括了“讲话”的title。
二、在语句中筛选出地址
我用的是attr("href"),把href后的链接地址抓出来,用attr(abs : href )就能够得出绝对地址。
参考http://www.open-open.com/jsoup/attributes-text-html.htm
三、在语句中抓文本
用text()方法,参考如上。
今天先写到这里,大家一起讨论吧。