Lấy dữ liệu từ website về excel

Thanh Binh PV

Yêu THVBA
Em chào anh chị trong diễn đàn,
Mong được anh chị giúp đỡ về việc lấy dữ liệu từ website về excel ạ. Vì website này check IP thường xuyên nên nếu 1 tài khoản sử dụng 2 IP trở lên thì sẽ bị ban nick nên mong anh chị thông cảm em chỉ gửi tài khoản pass cho 1 người đăng nhập thôi ạ (trước khi đăng nhập e sẽ báo admin của website này để được sử dụng thêm 1 IP tạm thời)
Em cảm ơn.
Đầu vào:
1. Đăng nhập vào website theo đường dẫn sau :
Mã:
view-source:http://wemagician.com/
https://drive.google.com/open?id=1qS_bwsN4pvRygt5IX-Dq0W16M-5X8RMO
2. Qua trang mới đường dẫn sẽ tăng thêm 1 : (trang 2) , (trang 3) ,...
Mã:
view-source:http://wemagician.com/forums/6/
https://drive.google.com/open?id=1mhMEvORFJ5jB9p8SsNwjmRUeXwOZqlRY
Bạn cần đăng nhập để thấy hình ảnh

Đầu ra:
1. Lấy tiêu đề từng bài viết (ô màu đỏ ở hình ảnh phía trên) ghi vào excel (bắt đầu từ ô A1)
2. Lấy đường dẫn của từng bài viết (Xem hình dưới) (bắt đầu từ ô B1)
Bạn cần đăng nhập để thấy hình ảnh

3. TH1 đã mua liên kết : Lấy đường dẫn liên kết đã mua. (Xem hình dưới) (bắt đầu từ ô C1)
Mã:
view-source:http://wemagician.com/threads/6135/ (đã mua liên kết)
https://drive.google.com/open?id=1hAZvLkUnuAJp7QuIwcp0ZAIyItR_arhc
TH2 chưa mua liên kết : ghi vào excel "chưa mua"
Bạn cần đăng nhập để thấy hình ảnh

Kết quả:
Bạn cần đăng nhập để thấy hình ảnh
 

tuhocvba

Administrator
Thành viên BQT
Cái này là dự án rồi, hỗ trợ code e rằng không phù hợp.
Bạn muốn nhận hỗ trợ code theo yêu cầu và sẽ tài trợ diễn đàn một khoản đóng góp ủng hộ diễn đàn phải không?
 
B

bvtvba

Guest
1. Sẽ phải đánh giá xem có khả thi không.
2. Code về web cũng tốn nhiều thời gian.

Mọi người chỉ có thể cho bạn mượn khả năng code khi bạn chưa biết code, nhưng không thể cho bạn mượn thời gian của mọi người được. Trên diễn đàn đã cung cấp đủ kiến thức để bạn làm, bạn .
Nếu không tự làm được, mọi người sẽ xúm vào làm, và bạn sẽ trả công cho mọi người theo hình thức ủng hộ diễn đàn tài chính hoạt động, mình nghĩ là hợp tình hợp lý.
 

Thanh Binh PV

Yêu THVBA
Cái này là dự án rồi, hỗ trợ code e rằng không phù hợp.
Bạn muốn nhận hỗ trợ code theo yêu cầu và sẽ tài trợ diễn đàn một khoản đóng góp ủng hộ diễn đàn phải không?
Em cảm ơn ạ. Tại vì em đã hoàn thành được 1 phần rồi nhưng em chưa đề cập tới. (Code bên dưới ạ)
Em có dựa theo bài " " và 1 số code trên mạng ạ.
Em sẽ ủng hộ 1 khoản nhưng không nhiều vì em nay cũng thất nghiệp :D.
Mã:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
Sub testttt()
  Dim objIE              As InternetExplorer
  Dim HTMLDoc            As HTMLDocument
  Dim oHTML_Element      As IHTMLElement
  Dim oHTML_Element1     As IHTMLElement
  Dim timeOut            As Date
  Dim b                  As String
  Dim sens               As Boolean
  Dim thucthi            As Integer
  Dim lktem              As String
  Dim i                  As Integer
  Dim cnt_tem            As Long
  Dim lkbuf              As String
  Dim UserName           As String
  Dim Password           As String
  Dim s                  As Variant
  Dim j                  As Long

  UserName = "Tai Khoan"
  Password = "Mat Khau"

  'Tao object IE
  Set objIE = CreateObject("InternetExplorer.Application")

'Truy cap dia chi web
  lktem = "http://wemagician.com/forums/6/"
  objIE.navigate lktem

With objIE
        .navigate lktem
        checkieBusy objIE
        .Visible = True
        Dim oLogin As Object, oPassword As Object
        Set oLogin = .document.getElementsByName("login")(0)
        Set oPassword = .document.getElementsByName("password")(0)
    If oLogin Is Nothing And oPassword Is Nothing Then
    Else
        oLogin.Value = UserName
        oPassword.Value = Password
        .document.forms(0).submit
    End If
End With
  timeOut = Now + TimeSerial(0, 0, 5)
  Do While objIE.Busy = True Or objIE.readyState <> 4
    DoEvents
    Sleep 1
    If Now > timeOut Then
      objIE.Refresh
      timeOut = Now + TimeSerial(0, 0, 5)
    End If
  Loop

  timeOut = Now + TimeSerial(0, 0, 5)
  Do While objIE.document.readyState <> "complete"
    DoEvents
    Sleep 1
    If Now > timeOut Then
      objIE.Refresh
      timeOut = Now + TimeSerial(0, 0, 5)
    End If
  Loop

  sens = False
  Set HTMLDoc = objIE.document
  'Trang 1
    ReDim s(1 To 1048500, 1 To 2)
    For Each oHTML_Element In HTMLDoc.getElementsByClassName("PreviewTooltip")
    j = j + 1
        s(j, 1) = oHTML_Element.innerHTML
        s(j, 2) = oHTML_Element.getAttribute("href")
    Next
    If j > 0 Then
        Range("A1").Resize(j, 2).Value = s
    End If
End Sub
Sub checkieBusy(ie As Object)
    Do While ie.Busy Or ie.readyState < 4
        DoEvents
    Loop
End Sub
1. Sẽ phải đánh giá xem có khả thi không.
2. Code về web cũng tốn nhiều thời gian.

Mọi người chỉ có thể cho bạn mượn khả năng code khi bạn chưa biết code, nhưng không thể cho bạn mượn thời gian của mọi người được. Trên diễn đàn đã cung cấp đủ kiến thức để bạn làm, bạn .
Nếu không tự làm được, mọi người sẽ xúm vào làm, và bạn sẽ trả công cho mọi người theo hình thức ủng hộ diễn đàn tài chính hoạt động, mình nghĩ là hợp tình hợp lý.
Em cảm ơn ạ. Em sẽ tìm hiểu thử.
 

Euler

Administrator
Thành viên BQT
Bạn cứ thử tìm hiểu đi, tự làm được là tốt nhất. Chứ nói là hỗ trợ diễn đàn, thực ra cả hai bên có khi đều không thoải mái.
Các bạn ủng hộ được 200-500k là nhiều, có lẽ là một ngày đi làm đối với người mới tốt nghiệp ra đi làm. Code ngắn thì không sao, chứ cốt dài có khi hết cả chục tiếng.
Lương anh chị ở đây giả sử 20 triệu/ 22 ngày đi làm (nghỉ thứ 7, CN), vậy 1 ngày cứ cho là 1 triệu đi. 1h làm là khoảng 120k.
Vậy 10h làm là 1tr200k. Trước nay cũng thấy mấy bạn nhiệt tình code giúp người khác rồi yêu cầu người khác hỗ trợ lại diễn đàn, phí 50k/ giờ code. Làm thì cho vui, rẻ hơn công phụ hồ, nhưng người trả tiền có khi lại nghĩ thế là nhiều quá.

Trên diễn đàn cũng không có giấu gì, chia sẻ kiến thức rất mở.
Cái bài lấy mã chứng khoán website, các bạn hỗ trợ code không chỉ đưa ra tool mà còn nêu cách nghĩ rất cụ thể chi tiết,giúp ích cho người mới học. Bạn tham khảo topic đó là đúng.
 

Thanh Binh PV

Yêu THVBA
Bạn cứ thử tìm hiểu đi, tự làm được là tốt nhất. Chứ nói là hỗ trợ diễn đàn, thực ra cả hai bên có khi đều không thoải mái.
Các bạn ủng hộ được 200-500k là nhiều, có lẽ là một ngày đi làm đối với người mới tốt nghiệp ra đi làm. Code ngắn thì không sao, chứ cốt dài có khi hết cả chục tiếng.
Lương anh chị ở đây giả sử 20 triệu/ 22 ngày đi làm (nghỉ thứ 7, CN), vậy 1 ngày cứ cho là 1 triệu đi. 1h làm là khoảng 120k.
Vậy 10h làm là 1tr200k. Trước nay cũng thấy mấy bạn nhiệt tình code giúp người khác rồi yêu cầu người khác hỗ trợ lại diễn đàn, phí 50k/ giờ code. Làm thì cho vui, rẻ hơn công phụ hồ, nhưng người trả tiền có khi lại nghĩ thế là nhiều quá.

Trên diễn đàn cũng không có giấu gì, chia sẻ kiến thức rất mở.
Cái bài lấy mã chứng khoán website, các bạn hỗ trợ code không chỉ đưa ra tool mà còn nêu cách nghĩ rất cụ thể chi tiết,giúp ích cho người mới học. Bạn tham khảo topic đó là đúng.
Dạ vâng.. Em cũng tự tìm hiểu mà khổ nỗi là chỉ viết đơn lẻ được thôi. Để ghép lại 1 code hoàn chỉnh thì cũng hơi tốn thời gian đối với em. Như code ở trên thì em cũng lượm nhặt rồi ghép lại thành code nhưng chưa đầy đủ.
 
B

bvtvba

Guest
Lực bất tòng tâm mới ngại chứ tốn thời gian thì bình thường. Bạn không làm, người khác làm thì họ cũng tốn thời gian mà. Thế nên mới nói thời gian thì không thể cho đi được.
 

Thanh Binh PV

Yêu THVBA
Lực bất tòng tâm mới ngại chứ tốn thời gian thì bình thường. Bạn không làm, người khác làm thì họ cũng tốn thời gian mà. Thế nên mới nói thời gian thì không thể cho đi được.
Vâng nên em mới muốn đề nghị nhận trợ giúp code và ủng hộ diễn đàn 1 số tiền nhỏ ạ.
 
T

thanhphong

Guest
Vâng nên em mới muốn đề nghị nhận trợ giúp code và ủng hộ diễn đàn 1 số tiền nhỏ ạ.
Tôi là người code trong cái topic lấy mã chứng khoán. Code cho web tốn nhiều thời gian lắm. Kết thúc topic ấy chủ topic ủng hộ diễn đàn là 200k, bạn ấy nói bạn ấy là sinh viên.
Tiền nhiều thì cảm thấy công sức bỏ ra nó đáng hơn. Vì tôi cũng không có trách nhiệm phải giúp đỡ người khốn khó. Nhưng mà các cụ bảo như thế này, đồng tiền đi trước là đồng tiền khôn. Đã ít thì không nên mặc cả. Ông cứ dõng dạc bảo ông ủng hộ diễn đàn như này. Ít nhiều chả ai trách.
Tuần sau ông bảo em có việc cần giúp...

Chứ giờ ông kỳ kèo, rồi đạn thì ít, chả ai muốn làm.

Trước giờ mấy người chịu bỏ tiền ra thì công việc đều xuôi, Admin lại chả vào giục giã mọi người trợ giúp ấy chứ. Duy chỉ có một bạn cũng yêu cầu làm về web, nhưng web thuế, thì chịu. Tiền thì bạn ấy bắn luôn, danh nghĩa ủng hộ diễn đàn mà. Nhưng sau đó mấy anh em húc vào thì gục hết.
 

tuhocvba

Administrator
Thành viên BQT
Topic này mình sẽ chuyển vào Box Thành Viên Tự Giúp Nhau, ai có thời gian và hứng thú thì giúp chủ topic nhé.
 
Top