2015-09-07 30 views
8

Tôi gặp sự cố khi đăng nhập vào tập lệnh của mình. Mặc dù tất cả các câu trả lời tốt khác mà tôi tìm thấy trên stackoverflow, không có giải pháp nào làm việc cho tôi.Cạo diễn đàn được bảo vệ bằng mật khẩu trong r

Tôi đang xóa một diễn đàn web cho nghiên cứu tiến sĩ của mình, URL của nó là http://forum.axishistory.com.

Trang web tôi muốn xóa là danh sách thành viên - một trang liệt kê các liên kết đến tất cả các cấu hình thành viên. Người ta chỉ có thể truy cập vào danh sách thành viên nếu đăng nhập. Nếu bạn cố gắng truy cập vào danh sách thành viên mà không cần đăng nhập, nó sẽ hiển thị cho bạn biểu mẫu đăng nhập.

URL của danh sách thành viên là: http://forum.axishistory.com/memberlist.php.

Tôi đã thử các httr gói:

library(httr) 
members <- GET("http://forum.axishistory.com/memberlist.php", authenticate("username", "password")) 
members_html <- html(members) 

Đầu ra là các bản ghi trong mẫu.

Sau đó, tôi đã cố gắng RCurl:

library(RCurl) 
members_html <- htmlParse(getURL("http://forum.axishistory.com/memberlist.php", userpwd = "username:password")) 
members_html 

Đầu ra là nhật ký ở dạng - một lần nữa.

Sau đó, tôi đã cố gắng trong danh sách) chức năng (từ chủ đề này - Scrape password-protected website in R:

handle <- handle("http://forum.axishistory.com/") 
path <- "ucp.php?mode=login" 

login <- list(
    amember_login = "username" 
    ,amember_pass = "password" 
    ,amember_redirect_url = 
    "http://forum.axishistory.com/memberlist.php" 
) 

response <- POST(handle = handle, path = path, body = login) 

và một lần nữa! Đầu ra là biểu mẫu đăng nhập.

Điều tiếp theo tôi đang làm là RSelenium, nhưng sau tất cả những nỗ lực này tôi đang cố gắng tìm hiểu xem tôi có thể thiếu một cái gì đó (có thể là một cái gì đó hoàn toàn rõ ràng).

tôi đã xem xét bài viết khác có liên quan ở đây, nhưng không thể tìm ra cách để áp dụng mã để trường hợp của tôi:

How to use R to download a zipped file from a SSL page that requires cookies

Scrape password-protected website in R

How to use R to download a zipped file from a SSL page that requires cookies

https://stackoverflow.com/questions/27485311/scrape-password-protected-https-website-in-r

Web scraping password protected website using R

+0

Tôi nghĩ rằng bạn chỉ cần đặt tên truy cập và mật khẩu của bạn vào tất cả các đoạn mã của bạn. có thể bạn muốn xóa chúng và thay đổi mật khẩu của bạn trên trang web tương ứng. – WWhisperer

+0

Điều đó đúng! Bây giờ đã chỉnh sửa. Cảm ơn nhiều. –

+0

khi tôi nhấp vào "đã chỉnh sửa x phút trước" tôi vẫn có thể xem dữ liệu của bạn ... chỉ là gợi ý cho bài đăng tiếp theo của bạn. bạn đã thay đổi dữ liệu đăng nhập của mình trong diễn đàn và bất cứ nơi nào bạn cũng có thể sử dụng nó? :) – WWhisperer

Trả lời

6

Nhờ Simon Tôi tìm thấy câu trả lời ở đây: Using rvest or httr to log in to non-standard forms on a webpage

library(rvest) 
url  <-"http://forum.axishistory.com/memberlist.php" 
pgsession <-html_session(url) 

pgform <-html_form(pgsession)[[2]] 

filled_form <- set_values(pgform, 
         "username" = "username", 
         "password" = "password") 

submit_form(pgsession,filled_form) 
memberlist <- jump_to(pgsession, "http://forum.axishistory.com/memberlist.php") 

page <- html(memberlist) 

usernames <- html_nodes(x = page, css = "#memberlist .username") 

data_usernames <- html_text(usernames, trim = TRUE) 
Các vấn đề liên quan