c 抓取网页数据(天猫商城开发商编程的准备工作流程及注意事项!)
优采云 发布时间: 2021-10-06 15:12c 抓取网页数据(天猫商城开发商编程的准备工作流程及注意事项!)
一、准备
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