下面的两个帖子是从网站提取数据并将其解析为R的不同方法的很好的例子.
我对编程非常陌生,刚开始使用R,所以我希望这个问题非常基本,但考虑到上面的那些帖子,我想是的.
我要做的就是提取与给定模式匹配的链接.我觉得我可以使用RCurl来读取网页并使用字符串表达式提取它们的暴力方法.也就是说,如果网页形成得相当好,我将如何使用XML包进行此操作.
随着我了解更多,我喜欢在查看问题时"查看"数据.问题是这些方法中的一些生成了列表列表等列表,因此新的(像我)这样的人很难走到我需要去的地方.
同样,我对所有编程都是新手,所以任何帮助或代码片段都将不胜感激.
我想用R提取Google Scholar搜索的前100个结果(比如说).有谁知道怎么做?
确切地说,我只需要论文的名称,作者和引文数.
这是合法的吗?
我经常从维基百科中提取表格.Excel的Web导入对维基百科无效,因为它将整个页面视为表格.在谷歌电子表格中,我可以输入:
=ImportHtml("http://en.wikipedia.org/wiki/Upper_Peninsula_of_Michigan","table",3)
Run Code Online (Sandbox Code Playgroud)
此功能将从该页面下载第3张表,其中列出了密歇根州UP的所有县.
R中有类似的东西吗?或者可以通过用户定义的函数创建?
我想读一下R中URL(eq,http://www.haaretz.com/)的内容.我想知道如何做到这一点
我想用R来刮掉这个页面:( http://www.fifa.com/worldcup/archive/germany2006/results/matches/match=97410001/report.html)和其他人,以获得目标得分手和时间.
到目前为止,这就是我所拥有的:
require(RCurl)
require(XML)
theURL <-"http://www.fifa.com/worldcup/archive/germany2006/results/matches/match=97410001/report.html"
webpage <- getURL(theURL, header=FALSE, verbose=TRUE)
webpagecont <- readLines(tc <- textConnection(webpage)); close(tc)
pagetree <- htmlTreeParse(webpagecont, error=function(...){}, useInternalNodes = TRUE)
Run Code Online (Sandbox Code Playgroud)
pagetree对象现在包含指向我解析的html的指针(我认为).我想要的部分是:
<div class="cont")<ul>
<div class="bold medium">Goals scored</div>
<li>Philipp LAHM (GER) 6', </li>
<li>Paulo WANCHOPE (CRC) 12', </li>
<li>Miroslav KLOSE (GER) 17', </li>
<li>Miroslav KLOSE (GER) 61', </li>
<li>Paulo WANCHOPE (CRC) 73', </li>
<li>Torsten FRINGS (GER) 87'</li>
</ul></div>
Run Code Online (Sandbox Code Playgroud)
但我现在已经失去了对于如何隔离它们,并坦言xpathSApply和xpathApply迷惑beejeebies我了!
那么,有没有人知道如何制定一个命令来吸出<div class="cont">标签中包含的元素?
假设我想重现StackOverflow上发布的示例.有些人建议用海报dput()来帮助简化这个过程或基础包中可用的一个数据集.
但是,在这种情况下,假设我只获得了数据帧的输出:
> site.data
site year peak
1 ALBEN 5 101529.6
2 ALBEN 10 117483.4
3 ALBEN 20 132960.9
8 ALDER 5 6561.3
9 ALDER 10 7897.1
10 ALDER 20 9208.1
15 AMERI 5 43656.5
16 AMERI 10 51475.3
17 AMERI 20 58854.4
Run Code Online (Sandbox Code Playgroud)
除了将其保存为文本文件并使用之外,我还有其他选择read.table()吗?
我有一个(有点复杂的)网络抓取挑战,我希望完成,并希望在某个方向(你想分享的任何级别)这里:
我想通过此链接中的所有"物种页面":
所以对于他们每个人我会去:
在该链接中,我希望废弃页面中的数据,以便我将有一个包含此数据的长列表(例如):
chr.trna3 (1-77) Length: 77 bp
Type: Ala Anticodon: CGC at 35-37 (35-37) Score: 93.45
Seq: GGGCCGGTAGCTCAGCCtGGAAGAGCGCCGCCCTCGCACGGCGGAGGcCCCGGGTTCAAATCCCGGCCGGTCCACCA
Str: >>>>>>>..>>>>.........<<<<.>>>>>.......<<<<<.....>>>>>.......<<<<<<<<<<<<....
Run Code Online (Sandbox Code Playgroud)
每一行都有自己的列表(在每个动物列表中每个"trna"的列表内)
我记得看过Rcurl和XML(在R中)可以允许这样的任务.但我不知道如何使用它们.所以我希望拥有的是:1.关于如何构建这样的代码的一些建议.2.并建议如何学习执行此类任务所需的知识.
谢谢你的帮助,
塔尔
这篇文章http://www.ajnr.org/content/30/7/1402.full包含四个指向html-tables的链接,我想用rvest来搜索.
借助css选择器:
"#T1 a"
Run Code Online (Sandbox Code Playgroud)
可以像这样到达第一个表:
library("rvest")
html_session("http://www.ajnr.org/content/30/7/1402.full") %>%
follow_link(css="#T1 a") %>%
html_table() %>%
View()
Run Code Online (Sandbox Code Playgroud)
css选择器:
".table-inline li:nth-child(1) a"
Run Code Online (Sandbox Code Playgroud)
可以选择包含链接到四个表的标签的所有四个html节点:
library("rvest")
html("http://www.ajnr.org/content/30/7/1402.full") %>%
html_nodes(css=".table-inline li:nth-child(1) a")
Run Code Online (Sandbox Code Playgroud)
如何循环遍历此列表并一次性检索所有四个表?什么是最好的方法?
作为一名经济研究团队的实习生,我的任务是找到一种方法,使用R来自动收集房地产广告网站上的特定数据.
我认为相关的包装是XML和RCurl,但我对他们的工作的理解非常有限.
这是该网站的主页:http://www.leboncoin.fr/ventes_immobilieres/offres/nord_pas_de_calais/? f = a& th = 1& zzz = 59000理想情况下,我想构建我的数据库,以便每行对应一个广告.
以下是广告的详细信息:http://www.leboncoin.fr/ventes_immobilieres/197284216.htm? ca = 17_s 我的变量是:价格("Prix"),城市("Ville"),表面( "表面"),"GES,"Classeénergie"和房间数量("Pièces"),以及广告中显示的图片数量.我还希望将文本导出为字符向量我稍后会进行文本挖掘分析.
我正在寻找任何帮助,链接到教程或操作方法,这将使我领先一条路.
我正在尝试访问Wikipedia页面以获取页面列表,并收到以下错误:
library(RCurl)
u <- "http://en.wikipedia.org/w/index.php?title=Special%3APrefixIndex&prefix=tal&namespace=4"
getURL(u)
[1] "Scripts should use an informative User-Agent string with contact information, or they may be IP-blocked without notice.\n"
Run Code Online (Sandbox Code Playgroud)
我希望通过Wikipedia api访问该页面,但我不确定它是否会起作用.
事实上,其他页面的读取没有问题,例如:
u <- "http://en.wikipedia.org/wiki/Wikipedia:Talk"
getURL(u)
Run Code Online (Sandbox Code Playgroud)
有什么建议?
旁注:总的来说,我宁愿不刮维基页面并通过api,但我担心这些特定的页面还没有通过api ...