Javascript 如何从.js下拉菜单中获取数据并加载到R中?
我每个月都从这个网站上获取数据:然后用R 我当然想自动化这个,但我没有Java或Javascript的经验。你能告诉我,我们将开始并指导我完成这项任务吗?R语言合适吗?这是:Javascript 如何从.js下拉菜单中获取数据并加载到R中?,javascript,r,web-scraping,Javascript,R,Web Scraping,我每个月都从这个网站上获取数据:然后用R 我当然想自动化这个,但我没有Java或Javascript的经验。你能告诉我,我们将开始并指导我完成这项任务吗?R语言合适吗?这是: library(rvest) library(httr) library(tibble) library(purrr) pg <- read_html("http://www.fiskistofa.is/english/quotas-and-catches/total-catches-by-harbours-mon
library(rvest)
library(httr)
library(tibble)
library(purrr)
pg <- read_html("http://www.fiskistofa.is/english/quotas-and-catches/total-catches-by-harbours-months-and-vessel-type/")
html_nodes(pg, "select#fyrirsp>option") %>%
map_df(~data_frame(value=html_attr(., "value"), display=html_text(., trim=TRUE)))
## # A tibble: 5 × 2
## value display
## <chr> <chr>
## 1 ateh By landing harbor
## 2 hteh Main species by landing harbor
## 3 atem By month
## 4 ateu By vessel type
## 5 atev By fishing gear
^^是从提交表单中获取数据表的函数。例如:
get_catch_data("ateh", as.Date("2016-07-01"), as.Date("2016-12-07"))
## # A tibble: 71 × 64
## Species Vestmannaeyjar Þorlákshöfn Grindavík Sandgerði
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Cod 3.262 539 2.708 953
## 2 Haddock 1.521 145 560.000 93
## 3 Saithe 2.849 318 791.000 160
## 4 Redfish 2.580 642 1.499 51
## 5 Ling 316.000 387 216.000 41
## 6 Blueling, European ling 62.000 22 13.000 3
## 7 Tusk, torsk, cusk 8.000 50 184.000 1
## 8 Atlantic wolffish 77.000 29 83.000 14
## 9 Monkfish 82.000 44 18.000 40
## 10 Greater argentine, 4.000 0 54.000 0
## # ... with 61 more rows, and 59 more variables: Keflavík <dbl>,
## # Hafnarfjörður <dbl>, Kópavogur <int>, Reykjavík <dbl>, Akranes <int>,
## # Arnarstapi <int>, Rif <dbl>, Ólafsvík <dbl>, Grundarfjörður <dbl>,
## # Stykkishólmur <dbl>, Búðardalur <int>, Brjánslækur <int>,
## # Patreksfjörður <dbl>, Tálknafjörður <int>, Bíldudalur <int>,
## # Þingeyri <dbl>, Flateyri <dbl>, Suðureyri <dbl>, Bolungarvík <dbl>,
## # Ísafjörður <dbl>, Súðavík <int>, Norðurfjörður <int>, Drangsnes <int>,
## # Hólmavík <int>, Hvammstangi <int>, Skagaströnd <dbl>,
## # Sauðárkrókur <dbl>, Hofsós <int>, Siglufjörður <dbl>,
## # Ólafsfjörður <int>, Grímsey <int>, Hrísey <int>, Dalvík <dbl>,
## # Árskógssandur <int>, Hauganes <int>, Akureyri <dbl>, Húsavík <dbl>,
## # Kópasker <int>, Raufarhöfn <dbl>, Þórshöfn <dbl>, Bakkafjörður <int>,
## # Vopnafjörður <dbl>, `Borgarfjörður Eystri` <int>, Seyðisfjörður <dbl>,
## # Mjóifjörður <int>, Neskaupstaður <dbl>, Eskifjörður <dbl>,
## # Reyðarfjörður <dbl>, Fáskrúðsfjörður <dbl>, Stöðvarfjörður <dbl>,
## # Breiðdalsvík <int>, Djúpivogur <dbl>, Hornafjörður <dbl>, `Ýmsir
## # staðir` <int>, Noregur <int>, Færeyjar <dbl>, Holland <dbl>,
## # Skarðsstöð <int>, Total <dbl>
获取渔获量数据(“ateh”、截止日期(“2016-07-01”)、截止日期(“2016-12-07”))
###A tible:71×64
##物种VestmannaeyjarÞorlákshöfn Grindavík Sandgerði
##
##1化学需氧量3.262 539 2.708 953
##2黑线鳕1.521 145 560.000 93
##3.2.849 318 791.000 160
##4红鱼2.580 642 1.499 51
##5岭316.000 387 216.000 41
##6蓝岭,欧洲岭62.000 22 13.000 3
##7图斯克,托尔斯克,库斯克8.000 50 184.000 1
##8大西洋狼鱼77.000 29 83.000 14
##9 Monkfish 82.000 44 18.000 40
##10大阿根廷,4.000 0 54.000 0
## # ... 还有61行和59个变量:Keflavík,
###Hafnarfjörður、科帕沃格尔、雷克雅未克、阿克兰、,
##阿尔纳斯塔皮、里夫、拉夫斯维克、格伦达尔夫,
##斯蒂基什奥尔穆尔、巴达卢、布尔詹斯勒库尔、,
###Patreksfjörður,Tálknafjörður,Bíldudalur,
###Þingeyri、Flateyri、Suðureyri、Bolungarvík、,
###safjörður,Sðavík,Norðurfjörður,Drangsnes,
##Hólmavík、Hvammangi、斯卡加斯特伦德、,
###Sauðarkrókur、Hofsós、Siglufjörður、,
##Ólafsfjörður、格里姆赛、赫利赛、达尔维克、,
##奥斯克桑杜尔、豪加内斯、阿库雷里、胡萨维克、,
##科帕斯克、劳法尔、奥斯、巴克卡夫,
###Vopnafjörður,`Borgarfjörður Eystri`,Seyðisfjörður,
###Mjóifjörður、Neskaupstaður、Eskifjörður、,
##雷伊·阿尔弗约尔、法斯卡·斯弗约尔、圣瓦尔弗约尔、,
###布雷·达尔斯维克、乔皮沃格、霍纳夫·鲁尔、`Ýmsir
##荷兰Færeyjar Noregur#staðir`,
###Skarðsstöð,总计
以及:
获取渔获量数据(“atem”、截止日期(“2016-07-01”)、截止日期(“2016-07-31”))
###A tible:50×3
##2016年7月物种总数
##
##1 Cod 13.908 13.908
##2黑线鳕2.063 2.063
##3赛义德5.539 5.539
##4红鱼4.265 4.265
##5岭302.000 302.000
##6蓝岭,欧洲蓝岭38.000 38.000
##7图斯克,托尔斯克,库斯克29.000 29.000
##8大西洋狼鱼506.000 506.000
##9 Monkfish 106.000 106.000
##10大阿根廷,180.000 180.000
## # ... 还有40行
以及:
获取渔获量数据(“ateu”、截止日期(“2016-07-01”)、截止日期(“2016-12-07”))
###A tible:71×9
##种类`沿海捕捞`研究船`拖网渔船
##
##1化学需氧量3.747347.325
##2黑线鳕13.000 8 4.785
##3赛义德150.000 4 16.182
##4条红鱼46.000 28 19.330
##5令1.000 0 357.000
##6蓝岭,欧洲蓝岭0.000 1 290.000
##7图斯克,托尔斯克,库斯克2.000 0 21.000
##8大西洋狼鱼2.000 0 710.000
##9斑鱼0.000 0 45.000
##10大阿根廷,0.000 0 1.334
## # ... 还有61行和5个变量:`Quota-vesser`,
###‘小配额船’、‘休闲渔业’、‘鱼钩和鱼线’
###船`,总计
(你明白了)
一些注意事项:
- 您不需要tibble,但出于许多原因,我更喜欢使用它来创建内置的数据帧函数李>
- 您应该添加更多的参数错误检查李>
- 您应该为一些返回的数据帧清除列名
- 您应该清除(即删除)结果数据框中的“总计”字段/行
- 我在页面上找不到使“按渔具”返回任何数据的参数组合
get_catch_data("ateh", as.Date("2016-07-01"), as.Date("2016-12-07"))
## # A tibble: 71 × 64
## Species Vestmannaeyjar Þorlákshöfn Grindavík Sandgerði
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Cod 3.262 539 2.708 953
## 2 Haddock 1.521 145 560.000 93
## 3 Saithe 2.849 318 791.000 160
## 4 Redfish 2.580 642 1.499 51
## 5 Ling 316.000 387 216.000 41
## 6 Blueling, European ling 62.000 22 13.000 3
## 7 Tusk, torsk, cusk 8.000 50 184.000 1
## 8 Atlantic wolffish 77.000 29 83.000 14
## 9 Monkfish 82.000 44 18.000 40
## 10 Greater argentine, 4.000 0 54.000 0
## # ... with 61 more rows, and 59 more variables: Keflavík <dbl>,
## # Hafnarfjörður <dbl>, Kópavogur <int>, Reykjavík <dbl>, Akranes <int>,
## # Arnarstapi <int>, Rif <dbl>, Ólafsvík <dbl>, Grundarfjörður <dbl>,
## # Stykkishólmur <dbl>, Búðardalur <int>, Brjánslækur <int>,
## # Patreksfjörður <dbl>, Tálknafjörður <int>, Bíldudalur <int>,
## # Þingeyri <dbl>, Flateyri <dbl>, Suðureyri <dbl>, Bolungarvík <dbl>,
## # Ísafjörður <dbl>, Súðavík <int>, Norðurfjörður <int>, Drangsnes <int>,
## # Hólmavík <int>, Hvammstangi <int>, Skagaströnd <dbl>,
## # Sauðárkrókur <dbl>, Hofsós <int>, Siglufjörður <dbl>,
## # Ólafsfjörður <int>, Grímsey <int>, Hrísey <int>, Dalvík <dbl>,
## # Árskógssandur <int>, Hauganes <int>, Akureyri <dbl>, Húsavík <dbl>,
## # Kópasker <int>, Raufarhöfn <dbl>, Þórshöfn <dbl>, Bakkafjörður <int>,
## # Vopnafjörður <dbl>, `Borgarfjörður Eystri` <int>, Seyðisfjörður <dbl>,
## # Mjóifjörður <int>, Neskaupstaður <dbl>, Eskifjörður <dbl>,
## # Reyðarfjörður <dbl>, Fáskrúðsfjörður <dbl>, Stöðvarfjörður <dbl>,
## # Breiðdalsvík <int>, Djúpivogur <dbl>, Hornafjörður <dbl>, `Ýmsir
## # staðir` <int>, Noregur <int>, Færeyjar <dbl>, Holland <dbl>,
## # Skarðsstöð <int>, Total <dbl>
get_catch_data("atem", as.Date("2016-07-01"), as.Date("2016-07-31"))
## # A tibble: 50 × 3
## Species `July 2016` Total
## <chr> <dbl> <dbl>
## 1 Cod 13.908 13.908
## 2 Haddock 2.063 2.063
## 3 Saithe 5.539 5.539
## 4 Redfish 4.265 4.265
## 5 Ling 302.000 302.000
## 6 Blueling, European ling 38.000 38.000
## 7 Tusk, torsk, cusk 29.000 29.000
## 8 Atlantic wolffish 506.000 506.000
## 9 Monkfish 106.000 106.000
## 10 Greater argentine, 180.000 180.000
## # ... with 40 more rows
get_catch_data("ateu", as.Date("2016-07-01"), as.Date("2016-12-07"))
## # A tibble: 71 × 9
## Species `Costal fishing` `Research vessel` Trawler
## <chr> <dbl> <int> <dbl>
## 1 Cod 3.747 33 47.325
## 2 Haddock 13.000 8 4.785
## 3 Saithe 150.000 4 16.182
## 4 Redfish 46.000 28 19.330
## 5 Ling 1.000 0 357.000
## 6 Blueling, European ling 0.000 1 290.000
## 7 Tusk, torsk, cusk 2.000 0 21.000
## 8 Atlantic wolffish 2.000 0 710.000
## 9 Monkfish 0.000 0 45.000
## 10 Greater argentine, 0.000 0 1.334
## # ... with 61 more rows, and 5 more variables: `Quota vessel` <dbl>,
## # `Small quota boat` <dbl>, `Recreational fishery` <int>, `Hook and line
## # boat` <dbl>, Total <dbl>