作者iambakr (123)
看板R_Language
标题Re: [问题] Rvest 网路爬虫问题
时间Tue Dec 31 01:26:04 2019
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
之前第一次po文是询问爬单页 n个商品的名称, 价格与点击进去的规格
这次能够爬多个页面(例如Page 1~7),把全部的内容都汇进 data frame
但是我觉得我的写法有点土法炼钢
所以想请前辈不吝指教,针对我的code给建议
但目前我有碰到以下几个问题,想请前辈帮忙
Q1: 这个程式码用了两次 for loop,效能多少会受到影响。
想请问有另外比较简洁且效能佳的写法吗? ex: lapply?
Q2: 我想把 data frame产出 Excel rawdata,把每周爬的新内容接在上周旧内容的
下一行开始,请问要怎麽设定?
谢谢各位
[程式范例]:
https://ideone.com/zRJUTp
Note:first_page =
https://bit.ly/2tfCDuC
[环境叙述]:
R version 3.6.2 (2019-12-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
[关键字]: Rvest, for loop
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.141.65.186 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1577726766.A.4CE.html
1F:→ andrew43: 这二个for loop做不同工作,不知道怎麽影响了效率? 12/31 11:21
2F:→ andrew43: 至於持续更新data,更简单的方法是以纯文字方式写入 12/31 23:06
3F:→ andrew43: 相同档案。或是每次都先读出旧档再用rbind()加上新资料 12/31 23:08
4F:→ andrew43: 你若使用write.table(),可以先试试它append这个参数。 12/31 23:10