rvest包抓取Google數據

2021-03-02 表哥有話講


     在這篇文章,主要展示的是如何抓取Google學術網頁。

     示例展示的是用rvest包來抓取作者博士指導老師的個人學術數據。Hadley Wickham在RStudio Blog中寫道:「rvest的靈感來源於類似beautiful soup這樣可以輕易的從HTML網頁抓取數據的一些庫」。因為它被設計成跟magrittr一起使用。我們可以通過一些簡單和易於理解的代碼塊組成的管道操作來表示複雜的操作。

註:要完成以下案例演示需具備科學上網的條件


加載R包:

用ggplot2包來作圖

他的論文被引用了多少次?

使用SelectorGadget的CSS選擇器來找出"cited by"列。

在html_nodes()中指定CSS選擇器,html_text()用來提取文本。最後,用as.numernic()將字符串類型轉換為數值類型。

查看引用此次數:
繪製引用次數的條形圖:


合著者,他們的附屬單位以及被引用的次數

同樣,我們使用SelecotGadget的CSS選擇器來找出匹配的合著者:

查看下合著者

截止到2016年1月1日,他的合著者共有27人。


他的合著者被引用了多少次?

通過全局替代提取數值字符串

將字符串轉成數值型,再得到ggplot2可用的數據框格式:

合著者的附屬機構
創建一個由coauthors,citations和affiliation組成的數據框


根據引用次數,對合著者重新排序

根據引用次數對合著者重新排序,以便得到遞減的順序圖:

與他合著的科學家中,有引用超過了12000次。他的學生中像我(圖中最後一個)這樣的剛處在"學走路的階段"。

總結

在這篇文章,我們看到了如何抓取Google學術數據。我抓取了我導師的帳戶,獲得了論文引用次數數據,合著者的附屬機構以及他們被引用的次數。

正如我們在這篇文章所看到的一樣,利用rvest包可以很容易的抓取HTML網頁數據。同樣重要的是,SelectorGadget通過CSS選擇器可以幫助我們找出感興趣的數據。


修正:我的導師告訴我Google學術只收錄了他的小部分合著者。跟他合作發表的一些科學家以及一些引用很多次文章並沒有顯示出來。進一步,上面得到的結果對於有些人來說是不符合常理的(如:資歷更深的人發表了更多的文章卻比資歷淺的人引用的次數更少)。因此,Google學術數據應該謹慎使用。

文章選自:雪晴數據網

相關焦點

  • R語言爬蟲利器:rvest包+SelectorGadget抓取鏈家杭州二手房數據
    從一開始學Python3寫scrapy框架到現在的rvest包R語言數據抓取,好歹有了自己固定的爬蟲操作模式,這期間學著別人爬過當當網的商品數據,爬過豆瓣電影和圖書top250,還爬過前程無憂的招聘信息等等,既然有了一些R語言的爬蟲經驗,那這個公眾號的第一次推送就從用rvest+SelectorGadget抓取連結杭州二手房數據開始吧。
  • R語言爬蟲系列6|動態數據抓取範例
    大約很早之前,小編就寫過關於R語言爬蟲新貴rvest的抓取介紹,之前說rvest+SelectGadgetor是結構化網頁抓取的實戰利器,大家的溢美之詞不斷。詳情可見推文:R語言爬蟲利器:rvest包+SelectorGadget抓取鏈家杭州二手房數據 但網絡爬蟲這個江湖太險惡,單靠一招rvest行走江湖必然兇多吉少,一不小心碰到什麼AJAX和動態網頁憑僅掌握rvest的各位必定束手無策。本文小編就簡單介紹下在用R語言進行實際的網絡數據抓取時如何將動態數據給弄到手。
  • R語言編程入門進階(學會使用函數包)
    R語言編程入門(爬蟲函數包的使用)寫在前面的上期推文介紹了R語言編程入門,從了解R語言的5種數據結構和兩種控制結構開始,再到借上上篇推文的Readscount數據綜合利用R語言編程證明Readscount屬於負二項分布。現在再回顧一下R語言的五個數據結構:向量、矩陣、列表、數據框、因子,以及兩種控制結構,循環和判斷。
  • 如何在電腦上抓取手機瀏覽器的數據包
    在一些網絡開發工作中需要抓取分析瀏覽器的數據交互情況,在PC端,相應的方法、工具很多,而在手機移動端,就不是那麼方便了,手機端受限於屏幕及功能等,無法直接在手機端進行數據包交互的抓取及分析,可靠的方法就是用PC來抓取和分析最方便了,那麼如何做呢?
  • Google已經可以實現對JS正確抓取未公開
    對於SEO愛好者來說,都知道以下一個事實:百度,谷歌作為中國最大的兩個搜尋引擎巨頭,以前並不抓取代碼中出現JS的地方。也就是說當遇到JS代碼時,搜尋引擎會跳過這一部分,放棄收錄。
  • 做Google SEO前,先了解Google抓取網頁流程和搜索算法
    做Google SEO前,先了解Google抓取網頁流程和搜索算法我們自己搭建外貿獨立站更多的就是為了做Google SEO獲得排名以獲取免費的搜尋引擎流量。想要做Google SEO,那麼我們首先應該要了解一下Google的搜尋引擎抓取網頁流程,知道了流程你才知道應該要如何應對。
  • CRAN上R包的十年增長史
    在上周,由IBPAD舉辦的題為「尋找大數據與社會的聯繫」研討會在巴西利亞大學召開。
  • 小課堂:如何用Excel抓取網頁數據
    這個時候就要直接抓取數據包了。本質上,網頁中的數據都會包打包成一個數據包,發送個網頁後,網頁再讀取數據包進行渲染。這個數據包常用的格式是JSON,那麼我們只要把JSON數據包抓取下來,也可以實現網頁數據抓取。
  • R vs Python:硬碰硬的數據分析
    下載一個網頁現在已經有了2013-2014賽季的NBA球員數據,讓我們抓取一些額外數據補充它。為了節省時間,在這裡看一場NBA總決賽的比分。我們使用rvest,一個廣泛使用的新R網絡抓取包實現抽取數據,注意這裡可以直接傳遞url給rvest,因此上一步在R中並不是必須的。在Python中,我們使用了BeautifulSoup,一個最常用的web抓取包。它讓我們可以在標籤間循環,並以一種直接的方式構建列表的列表。
  • 【好文翻譯】R vs Python:硬碰硬的數據分析
    接下來我們使用cluster包實施k-means聚類,在數據中發現5個簇。通過set.seed設置隨機種子以使結果可復現。在Python中,我們使用了主要的Python機器學習包scikit-learn擬合k-means模型並得到類別標籤。數據準備的過程和R非常類似,但是用到了get_numeric_data和dropna方法。
  • 難道python才可以做數據抓取?今天就使用Java實現疫情數據抓取
    相信很多人像我一樣每天醒來就會看看疫情的數據,身為軟體工程專業的一員,也要充分發揮專業能力,為疫情做點什麼。設計思路使用爬蟲爬取網站中的數據並存入資料庫使用java做後端將資料庫的內容傳送到前端前端使用echarts框架對數據進行可視化技術棧開發語言Java開發工具Idea資料庫MySQL使用的第三方庫Jsoup:數據抓取gson:JSON轉換jQuery:ajax請求、DOM操作Echarts: 地圖可視化功能概述數據抓取和持久化項目抓取匯總數據及持久化抓取疫情地圖數據及持久化抓取動態播報數據及持久化疫情數據可視化項目疫情匯總數據可視化疫情地圖可視化省市詳情數據可視化動態播放可視化項目截圖
  • 數據抓取行為的法律性質
    :數據抓取行為的法律性質——「馬蜂窩事件」案例分析?10月22日晚間,馬蜂窩起訴深圳乎睿數據有限公司、丁子奎名譽侵權案獲立案。馬蜂窩事件的突然爆發讓「數據抓取」站到了風口浪尖,但「數據抓取」卻並非馬蜂窩的首創。
  • 深入理解USB流量數據包的抓取與分析
    首先我們從上面的數據包分析可以知道,這是個 USB 的流量包,我們可以先嘗試分析一下 USB 的數據包是如何捕獲的。在開始前,我們先介紹一些 USB 的基礎知識。通過這些,我們可以了解到 usb 設備與主機之間的通信過程和工作原理,我們可以來對流量包進行分析了。
  • Power Query從網絡抓取數據
    使用Power Query從 web 獲取數據的能力非常方便, Power Query在大家不了解VBA的時候,可以這樣去使用,但是如果你了解VBA其實也很方便,主要是看大家的取捨和偏好從網絡上抓取下來的數據,還可以實時更新,這樣的話,如果你有一些成套的數據從網上抓下來,那麼加上經驗公式計算出抓取下來的數據衍生出來的一些最終結果
  • R語言 | 數據操作dplyr包
    [更新~] Python網絡爬蟲與文本數據分析公眾號只帶著Python字眼,卻分享著R語言,不務正業,任性了~dplyr簡介dplyr是R語言的數據分析包,很像python中的pandas,能對dataframe
  • 「原創」Google排名方法集:優化Structured Data(結構化數據)
    優化Structured Data(結構化數據)做外貿電商SEO的都知道,得Google者得天下,所以針對Google的優化,必不可少,今天我給大家講講,如何去通過優化Structured Data(結構化數據)獲得更高的排名
  • 表格型數據的抓取與存儲
    ❝已識乾坤大、猶憐草木青❞一.中國上市公司數據抓取1.1.主函數from urllib.parse import urlencodeimport pandas as pdimport csvimport requestsfrom bs4 import BeautifulSoupfrom
  • 為初學者提供的63個免費的數據科學學習資源
    連結:http://r4ds.had.co.nz/introduction.htmlSwirl (交互式R包):非常酷的R包,你可以直接從RStudio(用於運行R語言的最常見的接口)中安裝和學習語言。連結:http://swirlstats.com/用R語言介紹數據科學(視頻系列):幫助那些通過觀察別人而學得更好的人進階。
  • 數據分析與挖掘該選誰?Python 還是R 語言?
    R的功能能夠通過由用戶撰寫的包增強。增加的功能有特殊的統計技術、繪圖功能,以及編程接口和數據輸出/輸入功能。這些軟體包是由R語言、LaTeX、Java及最常用C語言和Fortran撰寫。下載的可執行文件版本會連同一批核心功能的軟體包,而根據CRAN紀錄有過千種不同的軟體包。其中有幾款較為常用,例如用於經濟計量、財經分析、人文科學研究以及人工智慧。