r语言怎么抓取网页数据

Python09

r语言怎么抓取网页数据,第1张

如果用Python或者C#可能更容易。但是R本身也有很强的处理功能。

用regular expression. 将html的source打开,比如可以将其按照txt的格式打开。里面的编码都是有规律的,接下来用regular experssion打开。比较常用的函数gsub, strsplit, grep等,可以看帮助文件。

R可以在网页上抓取数据,一种途径是使用函数readlines()下载网页,然后使用如grep()和gsub()一类的函数处理,对于结构复杂的网页,可以使用RCurl和XML包来提取其中想要的信息。

更多信息和示例,参考在Programming with R上找到的“Webscraping Using ReadLines and Rcurl”一文;

方法/步骤fromurllib.requestimporturlopen用于打开网页fromurllib.errorimportHTTPError用于处理链接异常frombs4importBeautifulSoup用于处理html文档importre用正则表达式匹配目标字符串例子用关于抓取百度新闻网页的某些图片链接fromurllib.requestimporturlopenfromurllib.errorimportHTTPErrorfrombs4importBeautifulSoupimportreurl="/"try:html=urlopen(url)exceptHTTPErrorase:print(e)try:bsObj=BeautifulSoup(html.read())images=bsObj.findAll("img",{"src":re.compile(".*")})forimageinimages:print(image["src"])exceptAttributeErrorase:print(e)importjava.io.BufferedReaderimportjava.io.IOExceptionimportjava.io.InputStreamReaderimportjava.net.HttpURLConnectionimportjava.net.MalformedURLExceptionimportjava.net.URLpublicclassCapture{publicstaticvoidmain(String[]args)throwsMalformedURLException,IOException{StringstrUrl="/"URLurl=newURL(strUrl)HttpURLConnectionhttpConnection=(HttpURLConnection)url.openConnection()InputStreamReaderinput=newInputStreamReader(httpConnection.getInputStream(),"utf-8")BufferedReaderbufferedReader=newBufferedReader(input)Stringline=""StringBuilderstringBuilder=newStringBuilder()while((line=bufferedReader.readLine())!=null){stringBuilder.append(line)}Stringstring=stringBuilder.toString()intbegin=string.indexOf("")intend=string.indexOf("")System.out.println("IPaddress:"+string.substring(begin,end))}

R语言的Blogdown包可以非常方便的帮助我们构建自己的个人网页,作者Yihui Xie 专门给这个R包写了一本书

链接是 https://bookdown.org/yihui/blogdown/

自己最近在学习这个R包构建个人网页,在youtube上找到了一个非常好的视频教程,手把手教学,每一步都有详细的介绍。

链接是 https://www.youtube.com/watch?v=8xbxXR_Iu5Y&list=PLpZT7JPM8_GbPiX4ibrP7ogl7GyEofZMj

总共16个视频,每个视频在10到20分钟,可以先把视频整体看一遍,然后再按照视频中一步一步操作

以下是我按照视频教程做的自己的网页的截图

下面还可以放自己发表的论文。个人感觉如果申请硕士博士在自己的简历里放上一个个人主页链接,瞬间档次提升不少 哈哈哈,尤其是申请国外的硕博的话。

大家如果访问youtube不方便的话,我把视频教程扒下来放到了B站,大家可以到我的B站账号看。虽然教程是英文的,听不懂也没关系,按照视频中的操作一步一步来就行。不用听懂。

我的B站主页 https://space.bilibili.com/355787260/channel/series

小明的数据分析笔记本