如何在R语言网页爬取中为披萨店数据添加电话号码?
要给你的爬虫添加电话号码字段,关键是找到电话号码对应的精准CSS选择器——别直接用<h4>,不然会抓一堆无关内容。查看目标页面的源码,电话号码的h4标签带了jsMapBubblePhone这个专属类,用它就能精准提取电话。
修改后的完整代码如下:
library(tidyverse) library(rvest) scraper <- function(url) { page <- url %>% read_html() tibble( name = page %>% html_elements(".jsListingName") %>% html_text2(), address = page %>% html_elements(".listing__address--full") %>% html_text2(), # 添加电话号码提取逻辑 phone = page %>% html_elements(".jsMapBubblePhone") %>% html_text2() ) } # 测试函数 scraper("https://www.yellowpages.ca/search/si/2/pizza/Canada")
如果之后这个选择器失效,你可以用浏览器开发者工具(右键选「检查」)定位电话元素,复制它的CSS选择器替换进去就行。另外部分商家可能没有留电话,结果里会出现空值,这是正常情况。
内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

