首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在特定位置从网页中抓取链接

在特定位置从网页中抓取链接
EN

Stack Overflow用户
提问于 2022-04-09 14:48:22
回答 1查看 84关注 0票数 0

我试图从一个网站收集一些链接。

例如,我有以下内容,我的想法是收集上面写着leer más的链接,这是我获取xpath的地方。

代码语言:javascript
复制
url = "https://www.fotocasa.es/es/alquiler/viviendas/madrid-capital/todas-las-zonas/l/181"
x <- GET(url, add_headers('user-agent' = desktop_agents[sample(1:10, 1)]))
x %>% 
  read_html() %>% 
  html_nodes(xpath = '//*[@id="App"]/div[2]/div[1]/main/div/div[3]/section/article[1]/div/a/p/span[2]')

这给了我以下的链接,但没有提供链接:

代码语言:javascript
复制
{xml_nodeset (1)}
[1] <span class="re-CardDescription-link">Leer más</span>

此外,我还想收集所有链接:

代码语言:javascript
复制
x %>% 
  read_html() %>% 
  html_nodes("a") %>% 
  html_attr("href")

这给了我很多的链接,但不是我想要的个人网页的链接。

我想要一份链接清单,例如:

代码语言:javascript
复制
https://www.fotocasa.es/es/alquiler/vivienda/madrid-capital/aire-acondicionado-calefaccion-terraza-trastero-ascensor-amueblado-internet/162262978/d

https://www.fotocasa.es/es/alquiler/vivienda/madrid-capital/aire-acondicionado-calefaccion-trastero-ascensor-amueblado/159750574/d

https://www.fotocasa.es/es/alquiler/vivienda/madrid-capital/aire-acondicionado-calefaccion-jardin-zona-comunitaria-ascensor-patio-amueblado-parking-television-internet-piscina/162259162/d
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-10 07:24:49

这些链接存储在JavaScript对象中的script标记中。您可以正则化定义该对象的字符串,执行一些反转义操作以使jsonlite能够解析,然后应用自定义函数仅提取json对象感兴趣的urls。

代码语言:javascript
复制
library(rvest)
library(jsonlite)
library(magrittr)
library(stringr)
library(purrr)

link <- 'https://www.fotocasa.es/es/alquiler/viviendas/madrid-capital/todas-las-zonas/l/181'
p <- read_html(url) %>% html_text()
s <- str_match(p, 'window\\.__INITIAL_PROPS__ = JSON\\.parse\\("(.*)".*?;')[,2]
data <- jsonlite::parse_json(gsub('\\\\\\"', '\\\"', gsub('\\\\"', '"', s)))
links <- purrr::map(data$initialSearch$result$realEstates, ~ .x$detail$`es-ES` %>% url_absolute(link))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71809099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档