这是我第一次尝试进行网页抓取。我正在尝试从https://tvnews.vanderbilt.edu/search抓取数据。我希望能够
直接R搜索带有特定搜索选项的特定短语(例如尼克松税),例如使用所有网络。
删除所有产生的项目编号,例如,如果您对短语中的尼克松税进行短语搜索,则第一个项目编号为#1115273,包括您需要单击“加载更多结果”按钮才能查看的项目编号。
最终,我希望有一个数据框,其中包含网站返回的所有项目号,而无论您包括或忽略这些选项。
到目前为止,我已经尝试如下使用rvest软件包;
VDTA_session <- html_session("https://tvnews.vanderbilt.edu/search")
VDTA_search <- "https://tvnews.vanderbilt.edu/search"
VDTA_Nixon_form <- VDTA_session %>%
html_form() %>%
.[[1]] %>%
set_values('search[query]' = "Nixon tax",
'search[from_date]' = "1968-08-05",
'search[to_date]' = "2006-12-31",
'search[reporter]' = '',
'search[network]' = "1",
'search[type]' = "exact",
'search[type]' = "exact",
'search[sort_by]' = "relevance",
'search[sort_by]' = "relevance",
'search[sort_by]' = "relevance",
'search[sort_by]' = "relevance",
'search[include_commercials]' = "0",
'search[include_news]'= "1",
'search[include_intros]' = "0",
'search[include_good_night]' = "0",
'search[include_specials]' = "0",
'search[include_evening_news]'= "1")
VDTA_Nixon_Result <- submit_form(VDTA_session, VDTA_Nixon_form)
read_html(VDTA_Nixon_Result) %>%
html_nodes(".result-id em") %>%
html_text() %>%
unname() %>%
as.character()
我遇到两个问题。
我不知道要为commit_form()函数的commit参数输入什么。我已经尝试过{SUB3}和https://tvnews.vanderbilt.edu/search上的Submit按钮的CSS代码。似乎都不起作用。
尽管代码确实可以在没有输入commit参数的情况下正常工作,但我似乎最终得到了完全相同的搜索页面。我没有收到结果
我将感谢任何帮助我指出我的代码错误的地方。我也知道R可能不是执行此任务的最佳工具,但是我现在可以使用它。