作者justleave (静静的就好)
看板R_Language
标题[问题] js生成的网页 资料抓取
时间Wed Jul 17 15:19:11 2019
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
如下图,想抓取红色方框中的资料
https://imgur.com/gk9qBoH.jpg
已知该表格由javascript动态生成
爬了开发者工具 始终找不到资料存放的位置或网址
倒是下面的大表格中有找到资料
有想说是不是需要GET/POST来获得资料
但找不到确切的url 不知从何下手
希望能有大大帮忙开示解惑
[程式范例]:
name <- "NovakDjokovic"
url2 <- paste0("
http://www.tennisabstract.com/cgi-bin/player.cgi?p=", name)
page2 <- read_html(url2)
html_text(page2)
会print出一堆程式码但没有我要的资料
[环境叙述]:
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
[关键字]:
网页爬虫 rvest javascript
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.8.54 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1563347953.A.DD1.html
1F:推 whs2009: rselenium 可以试试 07/17 17:28
2F:→ whs2009: 如果要爬动态的话 07/17 17:28
3F:→ whs2009: 配合 chrome的 selectorgadget找出位址 07/17 17:29
4F:→ justleave: 因为是js生成 selectorgadget 找到的里面没资料 会试 07/17 18:10
5F:→ justleave: 试Rselenium 07/17 18:10
6F:→ celestialgod: 直接看它有没有从什麽API取得资料 改成直接打API 07/17 19:20
更新一下
https://imgur.com/I9PKXj3.jpg
後来发现网页元素中其实有找到资料
但用老方法css标签以及xpath抓出的资料都是空白
误以为资料不在里面
下图为程式执行结果
https://imgur.com/Vof8nOv.jpg
试了几种方式都捞不出资料
※ 编辑: justleave (114.42.13.59 台湾), 07/18/2019 08:29:59
7F:→ andrew43: 这个网页大部份内容都是内JS生成,老方法是真的捞不到的 07/18 08:44
8F:→ andrew43: 它也没有用到ajax。网页主要表格刻在js,而你要的表格 07/18 08:48
9F:→ andrew43: 则是主要表格再做整理而已。 07/18 08:48
10F:→ andrew43: 所以,达成js render,或是直接取js中的数据再统计 07/18 08:50
11F:→ justleave: 後来用Rselenium解决了~感谢大家 07/19 00:21
12F:→ nbkl: 可以分享一下。解法吗。 先前有遇到这样子的问题。 但一直 08/26 15:20
13F:→ nbkl: 解不掉 08/26 15:20