R 将网站内容保存到txt文件中
我正在尝试编写R代码,输入URL并输出(保存在硬盘上)一个.txt文件。我使用“edgarWebR”包创建了一个url的大列表。一个例子是“”。基本上R 将网站内容保存到txt文件中,r,web-crawler,R,Web Crawler,我正在尝试编写R代码,输入URL并输出(保存在硬盘上)一个.txt文件。我使用“edgarWebR”包创建了一个url的大列表。一个例子是“”。基本上 打开链接 复制所有内容(CTRL+A、CTRL+C) 打开empy文本文件并粘贴内容(CTRL+V) 以指定的名称保存.txt文件 (当然是以循环的方式)。我倾向于“硬编码”(就像在browner的开放网站中使用browseURL(…)和“发送密钥”命令)。但我担心它不会很顺利地运行。但是,其他命令(如readLines())似乎复制HTML结构
提前谢谢 请让我知道以下代码是否适用于您。xpathSApply也可以应用于不同的html组件。因为在你的情况下,只需要段落
library(RCurl)
library(XML)
# Create character vector of urls
urls <- c("url1", "url2", "url3")
for ( url in urls) {
# download html
html <- getURL(url, followlocation = TRUE)
# parse html
doc = htmlParse(html, asText=TRUE)
plain.text <- xpathSApply(doc, "//p", xmlValue)
# writing lines to html
# depends whether you need separate files for each url or same
fileConn<-file(paste(url, "txt", sep="."))
writeLines(paste(plain.text, collapse = "\n"), fileConn)
close(fileConn)
}
库(RCurl)
库(XML)
#创建URL的字符向量
URL感谢大家的支持。事实证明,考虑到我需要解析的网站数量,任何html转换都花费了太多的时间。(工作)解决方案可能违反了一些最佳实践准则,但它确实做到了这一点
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox(executable_path=path + '/codes_ml/geckodriver/geckodriver.exe') # initialize driver
# it is fine to open the driver just once
# loop over urls will the text
driver.get(report_url)
element = driver.find_element_by_css_selector("body")
element.send_keys(Keys.CONTROL+'a')
element.send_keys(Keys.CONTROL+'c')
text = clipboard.paste()
嘿,我最后还是用了同样的密码。然而,htmlpasse的速度非常慢。我使用的文档大小大约为10-15秒。考虑到我正试图恢复的文件数量,我还不确定这在计算上是否可以接受,但它确实有效!谢谢