目标:希望使用R语言爬取大众点评的乌鲁木齐市酒吧的基本信息
首先选择传统方法,利用R包rvest中的read_html()读取网页信息,报错内容如下:
Error in open.connection(x, "rb") : HTTP error 403.
从浏览器进入网页,成功进入
猜测:403表示访问被拒绝,从R中进入网页被识别为爬虫,拒绝访问
解决:
使用包httr中的函数 add_headers()设置http请求中的User-Agent(浏览器身份标志) ;
再使用包rvest中的函数 html_session ()爬取信息,html_nodes()函数用于查找标签,html_text()用于提取标签内的文本内容,%>%表示管道操作符
library(xml2)
library(httr)
h2<-'http://www.dianping.com/search/keyword/325/0_%E9%85%92%E5%90%A7/p3'
session = h2