这应该给你一个出发点。如果你想要挖苦,学习如何使用浏览器开发者工具将是一个很好的时间投资。
library(httr)
library(jsonlite)
library(tidyverse)
POST(url = "http://www.fec.gov/fecviewer/ExportImageSearchResults.do",
body = list(format = "json",
candCmteIdName = "",
state = "ME",
district = "",
city = "",
treasurerName = "",
reportYear = "",
covStartDate = "",
covEndDate = "",
defaultTab = "1"),
encode = "form") -> res
res_j <- fromJSON(content(res, as="text"))
map_df(res_j$fec.gov$results, flatten_df) %>%
glimpse()
## Observations: 343
## Variables: 9
## $ ID <chr> "S4ME00071", "S4ME00089", "H6M...
## $ Name <chr> "BELLOWS, SHENNA", "BENNETT, E...
## $ Treasurer Name <chr> "null", "null", "null", "null"...
## $ Active Through <chr> "2018", "2018", "2018", "2018"...
## $ City <chr> "MANCHESTER", "PORTLAND", "BRU...
## $ State <chr> "ME", "ME", "ME", "ME", "ME", ...
## $ Party <chr> "DEMOCRATIC PARTY", "REPUBLICA...
## $ Committee Type/Candidate Office <chr> "S - Senate", "S - Senate", "H...
## $ Committee Designation <chr> "null", "null", "null", "null"...
如果您检查网页交易更多开发工具的网络选项卡上,你会看到像其他调用这些资源:
POST(url = "http://www.fec.gov/fecviewer/ExportCandidateCommitteeCurrentSummary.do",
body = list(format = "json",
electionYr = "2016",
tabIndex = "1",
candidateCommitteeId = "S4ME00071",
conCandidateCommitteId = "C00550434",
conCandidateCommitteeName = "BELLOWS+FOR+SENATE",
lineNumber = "",
lineDescription = "",
commingFrom = "twoYearSummary",
comingFromCashExpSummary = "false",
electionYrOpt = "2016"),
encode = "form")
和
GET(url = "http://www.fec.gov/fecviewer/CommitteeDetailCurrentSummary.do",
query=list(tabIndex=1,
candidateCommitteeId="H6ME02130",
electionYr=2016))
而且,你可以批量下载数据文件:http://www.fec.gov/finance/disclosure/ftpdet.shtml
你试过的是什么没有奏效? – hrbrmstr