R_Language 板


LINE

[软体熟悉度]: 入门(写过其他程式,只是对语法不熟悉) [问题叙述]: === 02/11/2019补上更详细的问题叙述供参考 我目前想做的事情是在一个资料库上爬资料, 资料库是用网页呈现的,我的需求是复制搜寻资料库之後的结果, 该搜寻结果一页只会呈现35笔的资料, 所以如果搜寻结果总共20000笔的话我就会手动复制到天荒地老, 故打算用爬虫的方式复制资料,再转成excel可以读取的档案,之後再进行下一步分析 coding卡住的地方是我原本想要一笔资料就设定为一个变数, 35笔资料就有35个变数 locka与celestialgod的建议是,R的概念不是这样子的(也幸好不是,後来想想这样子抓 资料会很恐怖) 应该是设定一个list函数,再把资料储存到这个函数里面 我後来使用的是vector函数,然後把资料储存进去, 再输出为csv档: a <-vector() #中间复制资料的code略过 at <- matrix(a) write.csv(at, file ="abc.csv") ====== 我想要写的内容是,宣告jump.page当作网页的页码(从第2页开始) 每页有0~34行的内容,我用xpath定位这总共35行, value是paste0(value ="//span[@id='tr_",m,"']")) 然後整个网页页面是从第2页到第10页 一样是用xpath定位网页上面的页码,value是 paste0(value ="//a[text()='",jump.page,"']")) 我想要问的事情是 1.take_m的这个宣告变数,我想要把m用回圈的数字代换,但目前就是跳出"take_m" 这个变数而已, 这个目的想要的是把复制的文字记录在同一个变数(或是vector?)里面, 再print来看 2.我使用paste0()做这件事情,目前好像时好时坏,有时候会认不得我写的东西, 有时候又可以,请问有没有版友跟我发生一样的事情呢? 感谢 [程式范例]: jump.page <- 2 while(jump.page <= 10){ for(m in 0:34) { take_m <- remDr$findElement(using = "xpath", paste0(value = "//span[@id='tr_",m,"']")) take_m$getElementText() } web.link <- remDr$findElement(using = "xpath", paste0(value = "//a[text()='",jump.page,"']")) web.link$clickElement() jump.page <- jump.page + 1 } [关键字]: 爬虫 Rselenium 回圈 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.119.121.6
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1548746320.A.8BC.html ※ 编辑: bearching (140.119.121.6), 01/29/2019 16:30:05
1F:推 locka: 建议提供可以重现问题的程式码。不过我觉得原po可以练习使 01/29 17:39
2F:→ locka: 用*apply系列函数来写回圈。如果我没理解错的话,你现在卡 01/29 17:39
3F:→ locka: 住的地方是在於想跑35次回圈产生35个 take_m 变数,方便你 01/29 17:39
4F:→ locka: 查看每次的内容;可是R的逻辑在这里不太像一般的程式语言, 01/29 17:39
5F:→ locka: 举例来说如果你用result<- lapply(…)来做的话,回传值会是 01/29 17:39
6F:→ locka: 一个长度35的list,list中每个element就是每次的结果,这样 01/29 17:39
7F:→ locka: 只要用 result[index] 的方式就可读每次的结果了,根本不需 01/29 17:39
8F:→ locka: 要设35个变数。 01/29 17:39
感谢你~! 我现在的确是用list函数来做,爬了版上文章看到可以用list 来实现我想做的事情。 我会找找看apply系列的函数来看的,再次感谢~!! ※ 编辑: bearching (123.204.166.118), 01/30/2019 00:46:56 ※ 编辑: bearching (140.119.121.6), 01/30/2019 11:56:09
9F:→ celestialgod: 是不是用apply是无所谓,但是没有可以重现问题的程 01/30 16:47
10F:→ celestialgod: 式码 实在无法帮忙.... 01/30 16:47
11F:→ celestialgod: 啊啊 原来原po要产生task_1, ...这样的变数? 原po 01/30 16:48
12F:→ celestialgod: 请考虑用list存下task的资料 01/30 16:48
目前我是使用vector来产生一个向量,然後把我要的资料全部塞进去再储存为csv档 ※ 编辑: bearching (140.119.121.6), 02/11/2019 17:38:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP