通过rvest获取网页抓取的电子邮件地址

时间:2017-10-27 14:00:26

标签: r screen-scraping

您好我正试图通过使用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)

电子邮件ID位于&#39; a&#39; html标签,但我无法提取它。 This is the page source code

1 个答案:

答案 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}}
相关问题