您好我正试图通过使用rvest包的R语言抓取网页来获取有关此网页的一些信息。我得到名字和一切,但我无法收到电子邮件ID,即 info@brewhemia.co.uk 。如果我在 read_html 中看到文字,我就不会在html解析文本中看到电子邮件ID。有人可以帮忙吗?我是网络抓取的新手。但我知道R语言。
link <- 'https://food.list.co.uk/place/22191-brewhemia-edinburgh/'
page <- read_html(link)
name_html <- html_nodes(page,'.placeHeading')
business_adr <- html_text(adr_html)
tel_html <- html_nodes(page,'.value')
business_tel <- html_text(tel_html)
答案 0 :(得分:5)
你需要一个javascript引擎来处理js代码。幸运的是,R得到V8
。
安装library(rvest)
library(V8)
link <- 'https://food.list.co.uk/place/22191-brewhemia-edinburgh/'
page <- read_html(link)
name_html <- html_nodes(page,'.placeHeading')
business_adr <- html_text(adr_html)
tel_html <- html_nodes(page,'.value')
business_tel <- html_text(tel_html)
emailjs <- page %>% html_nodes('li') %>% html_nodes('script') %>% html_text()
ct <- v8()
read_html(ct$eval(gsub('document.write','',emailjs))) %>% html_text()
包后修改您的代码:
> read_html(ct$eval(gsub('document.write','',emailjs))) %>% html_text()
[1] "info@brewhemia.co.uk"
输出:
{{1}}