好久没有用R了,今天复习了下,用rvest写了个抓取 http://pubmed.cn 网站关键字搜索结果的脚本,分享一下。
需求
按关键字搜索, 并记录文章列表中的链接等信息。
打开文章页面, 提取其中的abstract摘要信息。
分析网站请求
打开网站, 输入关键字 disease ,可以得到搜索链接,明显是GET请求
http://pubmed.cn/search?q=disease&p=2&pn=20&vt=Summary&ot=PublicationDate&st=main&dt=&ft=
观察链接,可以看出 q=disease 是关键字, p=2 是页码, pn=20 是每页记录数, 其它的参数也都可以尝试出来
搜索列表抓取函数
library("rvest")
getPageList
# 读取页面
page
# 按照CSS选择器的语法, 选择页面中
...
tmp div#SFW>div.rprt")
# 选择
中的 title="..." 属性值title % html_attr("title")
# 选择href属性值
furl a[target=_blank]") %>% html_attr("href")