Соскоб с петлями и всегда получать ошибки - PullRequest
0 голосов
/ 28 апреля 2020

Сначала я извиняюсь, что задаю подобный вопрос многим другим здесь. Но я просто не могу это исправить сам, хотя я прочитал много вопросов и ответов на многих форумах.

1002 * Итак, я пишу свою холостяцкую диссертацию о поведении подростков и как они говорят о порно на InTe rnet. 1004 * Я пробовал разные способы, чтобы очистить все страницы и соединить все содержимое и пользователей и правильно датировать вместе, но, похоже, это не работает.

Мой первый код I получил только одну сторону, и все было в хаосе.

Затем я попробовал второй .

Второй код только дал мне ошибки, такие как "html_attr" неправильно используется или что они не могут найти объект tmp.content.
Я был бы рад любой помощи !!!
Моя цель состоит в том, чтобы очистить каждую сторону и привести все это в порядок в одной таблице с заголовками «пользователь», «дата», «содержимое»

library ('httr')
library ('pander')
library ('tidyverse')
library('rvest')
library ('xml2')
library ('rJava')
library ('stringr')

#URL in R einfügen:
url <- 'https://forum.maedchen.de/forum/liebe-sex/sex/67228-pornos'
webpage <- read_html(url)

#Daten vom Forum :   
content_data_html <- html_nodes(webpage,'.h-wordwrap')
content_data <- html_text(content_data_html)
head(content_data)

# name  
name1_data_html <- html_nodes(webpage,'.h-text-size--14 a ')
name1_data <- html_text(name1_data_html)
head(name1_data)

# Zeit und Datum   
Zeit_data_html <- html_nodes(webpage,'time ')
Zeit_data <- html_text(Zeit_data_html)
head(Zeit_data)

# Zitat  
Zitat_data_html <- html_nodes(webpage,'.bbcode_quote ')
Zitat_data <- html_text(Zitat_data_html)
head(Zitat_data)

# Alle Listen kombinieren forming data frame 
pornoforum <- c(content_data, name1_data, Zeit_data, Zitat_data)
pornoforum

# Liste in Excel
library("xlsx")
write.xlsx(unlist(pornoforum), "Pornoforum.xlsx")



#second code
 #page reading times

reading.times<-rnorm(10000, 40, 5)
range(reading.times)

#variables
tmp <- data.frame()
porno.data<-data.frame()
counter <- 0

GET("https://forum.maedchen.de/forum/liebe-sex/sex/67228-pornos/user-agent")

uastring <- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"

#open html session
html.session <-
html_session("https://forum.maedchen.de/forum/liebe-sex/sex/67228-pornos",
user_agent(uastring)
)

while(!is.na(read_html(html.session) %>%  
             html_node(".thread-view") 
             %>% html_node(".js-shrink-event-child") 
%% html_attr("href"))){

#Data 
tmp.content<-
read_html(html.session) %%
html_nodes("#content") %%
html_text() %%

tmp.rdate<-
read_html(html.session) %%
html_nodes("time") %%
html_text() %%

tmp.user<-
read_html(html.session) %%
html_nodes("#thread-view-tab a")
html_text() %%

#combine to dataframe
tmp<-data.frame(tmp.conent, tmp.rdate, tmp.user)
porno.data <- rbind(porno.data, tmp)

counter <- counter + 1

#print some info to console
print(counter)
pander(porno.data[length(porno.data$tmp.content),])
print('waiting for...')
print(reading.times[counter])
print('seconds')

#wait a while
Sys.sleep(reading.times[counter])

#Navigate to next page
html.session <-
html.session %%
follow_link("Next")

}
...