c 抓取网页数据(天猫商城开发商编程的准备工作流程及注意事项!)

优采云 发布时间: 2021-10-06 15:12

  c 抓取网页数据(天猫商城开发商编程的准备工作流程及注意事项!)

  一、准备

  1、在浏览器中打开天猫首页(推荐Chrome),搜索你要爬取的关键词。我在这里搜索的是“护发”;

  2、按“CTRL+SHIFT+C”显示页面源代码。这时候移动鼠标点击图片区域可以看到对应的代码。我们可以看到,宝贝的图片、标题、价格、店名、销量等信息都在模块中。

  

  二、启动Rstudio并开始编程

  1、安装并加载rvest包,将变量hfurl赋值给刚才的网页链接

  library(rvest)

library(magrittr)

library(xml2)

#保存需要爬取的网页到hfurl

hfurl%是管道操作符,意思是把左边的操作结果作为参数传递给右边的函数。

SCdata %

read_html(encoding="GBK")%>% #读取hfurl的链接并指定编码为"GBK"

html_nodes("div.product-iWrap") #筛选出所有包含在div.product-iWap中的内容

SCdata

  显示结果如下:

  

  这样,网页中60个宝宝的信息全部被抓取了!

  3、 进一步爬取所需信息。请注意,您需要对 css 选择器或 xpath 有一点了解。当你抓取每一项数据时,你可以将其打印出来并测试是否成功。实践中发现itemTitle打印出来的item有103条,和其他行号不对应,所以注释掉了,然后再想办法突破。

  #抓取卖家昵称

SCdata %

read_html(encoding="GBK") %>%

html_nodes("div.product-iWrap")

sellerNick% html_nodes("p.productStatus>span[class]") %>%

html_attr("data-nick")

#抓取卖家ID

sellerID % html_nodes("p.productStatus>span[data-atp]") %>%

html_attr("data-atp") %>%

#gsub()是字符串查找替换的函数,pattern是指定用来查找的正则表达式。

gsub(pattern="^.*,",replacement="")

#抓取宝贝名称

#itemTitle % html_tag("p.productTitle") %>%

# html_tag("a")%>%

# html_attr("title")

#html_text() %>%

#gsub(pattern="^.*,",replacement="")

#抓取宝贝ID

itemID%html_nodes("p.productStatus>span[class]") %>%

html_attr("data-item")

#抓取宝贝价格

price % html_nodes("p.productPrice>em[title]") %>%

html_attr("title") %>%

as.numeric

#抓取宝贝销量

volume % html_nodes("span>em") %>%

html_text

  4、保存数据库对象并写入csv文件。

<p>options(stringsAsFactors = FALSE)#设置字符串不自动识别为因子

itemData1

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线