Как мне соскоблить данные с нескольких страниц информации, когда URL-адрес статичен?

Я учусь собирать данные с веб-страницы, используя R. Веб-сайт, с которым я работаю:

http://sheriff.franklincountyohio.gov/search/real-estate/results.aspx?q=searchType%3DSaleDate%26searchString%3D12%2F26%2F2014+12%3A00%3A00+AM%26foreclosureType%3D%26sortType%3Ddefendant%26saleDateFrom%3D%26saleDateTo%3D

Проблема в том, что списки не на 1 странице, а в данном случае на 7 разных страницах. Пользователь переходит на следующую страницу с помощью кнопок со стрелками внизу. Тем не менее, URL-адрес является статическим. На странице 1 или 5 URL остается неизменным. Так что я не знаю, как указать R на следующей странице, чтобы получить дополнительную информацию.

В настоящее время я использую readLines, чтобы получить данные со страницы.

con <- url("http://sheriff.franklincountyohio.gov/search/real-estate/results.aspx?q=searchType%3dSaleDate%26searchString%3d12%2f26%2f2014%26foreclosureType%3d%26sortType%3ddefendant")
html <- readLines(con)
close(con)

А затем пакет XML, чтобы начать анализ данных, которые я хочу.

html.data <- htmlTreeParse(html, useInternalNodes = TRUE)

У меня были проблемы с использованием пакетов XML, RCurl и httr на работе из-за брандмауэра. Описанный выше метод, кажется, единственный способ, которым я могу очистить данные. Так что я мог бы быть ограничен в функциях, чтобы перейти по ссылке.

Любая помощь будет оценена! Я искал кучу и не могу найти ответ.

1 ответ

Решение

На веб-странице у вас есть кнопка "Распечатать список продаж", которая отображает новую, в которой вся информация собрана на одной странице (возможно, на момент публикации вопроса у веб-страницы не было этой кнопки).

url<-'http://sheriff.franklincountyohio.gov/search/real-estate/printresults.aspx?q=searchType%3dSaleDate%26searchString%3d12%2f26%2f2014+12%3a00%3a00+AM%26foreclosureType%3d%26sortType%3ddefendant%26saleDateFrom%3d%26saleDateTo%3d'
table<-readHTMLTable(url)
table1<-as.data.frame(table)
str(table1)
'data.frame':   92 obs. of  8 variables:
 $ c_printsearchresults_gvResults.Case.Number         : Factor w/ 92 levels "07CV4653\r\n                        PLURIESBANKRUPTCY",..: 23 47 33 90 91 82 85 77 68 83 ...
 $ c_printsearchresults_gvResults.Property.Address    : Factor w/ 92 levels "1038\r\n                        \r\n                        \r\n                        S OHIO AVENUE\r\n                      "| __truncated__,..: 7 80 85 26 79 37 83 55 51 33 ...
 $ c_printsearchresults_gvResults.Plaintiff...Attorney: Factor w/ 83 levels "Plaintiff:\r\n                        \r\n                        BAC HOME LOANS SERVICING LP FKA COUNTRYWIDE HOME LOANS SERVIC"| __truncated__,..: 5 31 80 74 49 14 73 52 39 41 ...
 $ c_printsearchresults_gvResults.Defendant           : Factor w/ 92 levels "ADEDEJI-FAJOBI/MODUPE/O",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ c_printsearchresults_gvResults.Appraised           : Factor w/ 59 levels "$10,268.33","$10,988.28",..: 48 20 18 10 25 6 41 58 35 15 ...
 $ c_printsearchresults_gvResults.Opening.Bid         : Factor w/ 63 levels "$10,268.33","$10,988.28",..: 38 5 4 52 11 51 29 45 23 63 ...
 $ c_printsearchresults_gvResults.Deposit             : Factor w/ 61 levels "$1,200.00","$10,268.33",..: 49 20 18 53 26 7 42 58 28 16 ...
 $ c_printsearchresults_gvResults.Sale.Date           : Factor w/ 1 level "12/26/2014": 1 1 1 1 1 1 1 1 1 1 ...

Если вы хотите удалить или разделить данные на несколько столбцов, вы можете использовать регулярные выражения.

Другие вопросы по тегам