1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Cho hỏi về Request và Regex lấy thông tin trang magic22.com

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Thanh Binh PV, 2/3/20.

  1. Thanh Binh PV

    Thanh Binh PV Thành viên mới
    • 1/6

    Tham gia ngày:
    22/12/18
    Bài viết:
    6
    Đã được thích:
    0
    Em muốn lấy thông tin của 1 web .. tiêu đề và liên kết bên trong đó. Nhưng em mới tìm hiểu để viết code và em có đọc về Regular Expression nhưng mà nó khó hiểu quá...Nên em làm post này nhờ mọi giúp em với ạ.
    Em mới chỉ viết được code lấy tên tiêu đề.. còn việc truy cập vào để lấy liên kết bên trong thì em vẫn chưa biết cách ạ. Có bác chỉ em là dùng chuỗi trong chuỗi mà em thử vẫn chưa được. Em cảm ơn.

    Mã (Text):
    #include <_HttpRequest.au3>
    $Cookie = 'd7d6da705333a369c6ee98a61cdf5162'

          $RQ = ''
          For $i = 1 to 2;
             ConsoleWrite('Da quet trang ' & $i & @crlf)
             $RQ &= _HttpRequest(2, 'http://www.magic22.com/page/' & $i, '', 'PHPSESSID=' & $Cookie)
             If @error then ConsoleWrite('!Lay tieu de trang ' & $i & ' that bai')
          Next
          $RQ = StringRegExp($RQ, '\<h3><a href="(.*?)\">', 3)
          $KQ = _ArrayToString($RQ, @CRLF)

          $fOpen = FileOpen("text.txt", 2 + 8 + 32)
          FileWrite($fOpen, $KQ)
          FileClose($fOpen)
         
         
     
  2. longtu

    longtu Thành viên
    • 18/23

    Tham gia ngày:
    9/8/17
    Bài viết:
    67
    Đã được thích:
    37
    Không hiểu ý bạn muốn hỏi về cái gì, cái $KQ là ghi ra những link của trang con, rồi lại rq tiếp những link con đó để get nội dung của chúng hay gì ?
     
  3. Thanh Binh PV

    Thanh Binh PV Thành viên mới
    • 1/6

    Tham gia ngày:
    22/12/18
    Bài viết:
    6
    Đã được thích:
    0
    $KQ của em hiện tại chỉ ghi ra những tiêu đề thôi ạ.. Em vẫn chưa tìm cách để lấy thông tin trong link con ạ.
     
  4. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Ý bạn là như này ??
    [​IMG]
     
  5. Thanh Binh PV

    Thanh Binh PV Thành viên mới
    • 1/6

    Tham gia ngày:
    22/12/18
    Bài viết:
    6
    Đã được thích:
    0
  6. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
  7. Thanh Binh PV

    Thanh Binh PV Thành viên mới
    • 1/6

    Tham gia ngày:
    22/12/18
    Bài viết:
    6
    Đã được thích:
    0
    dạ vâng..quan trọng là em không biết request từng link như thế nào ạ. em chân ướt chân ráo mới bước chân vào cũng đọc qua mấy bài viết trên diễn đàn nhưng chưa tìm được ạ.
     
  8. Thanh Binh PV

    Thanh Binh PV Thành viên mới
    • 1/6

    Tham gia ngày:
    22/12/18
    Bài viết:
    6
    Đã được thích:
    0
    Em có sửa như thế này nhưng bị báo là sai định dạng chuẩn. Mấy bác sửa giúp em với ạ.
    Mã (Text):
    #include <_HttpRequest.au3>
    $Cookie = 'd7d6da705333a369c6ee98a61cdf5162'

          $RQ = ''
          For $i = 1 to 2;
             ConsoleWrite('Da quet trang ' & $i & @crlf)
             $RQ &= _HttpRequest(2, 'http://www.magic22.com/page/' & $i, '', 'PHPSESSID=' & $Cookie)
             If @error then ConsoleWrite('!Lay tieu de trang ' & $i & ' that bai')
             Next
          $Link1 = StringRegExp($RQ, '(?m)\<h3><a href="(.*?)\">', 3)
          $Link = _HttpRequest(2,$Link1,'',$Cookie)

          $RQQ = StringRegExp($Link,'\<a href="https://nitroflare.com/(.*?)\"><span',3)

          $KQQ = _ArrayToString($RQQ, @CRLF)

          $fOpen = FileOpen("text1.txt", 2 + 8 + 32)
          FileWrite($fOpen, $KQQ)
          FileClose($fOpen)
     
  9. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Lời khuyên chân thành chân thật và tất cả chân gì đó là nên học căn bản hộ mình với.
    [​IMG]
     
  10. Thanh Binh PV

    Thanh Binh PV Thành viên mới
    • 1/6

    Tham gia ngày:
    22/12/18
    Bài viết:
    6
    Đã được thích:
    0
    Dạ vâng. Em mới học cái này nên vẫn còn nhiều cái chưa biết.
    Bác có thể giúp em nốt phát cuối được không ạ.Em thêm cả tên vào để xuất ra file excel nhưng mà thứ tự của nó lộn xộn không giống nhau. Và có tới 258 trang nên chạy rất chậm ạ. Bác giúp em tăng tốc độ xuất được không ạ.
    Mã (Text):
    #include <_HttpRequest.au3>
    #include <Excel.au3>
    #include <MsgBoxConstants.au3>

    $Cookie = 'd7d6da705333a369c6ee98a61cdf5162'

          $RQ = ''
          For $i = 1 to 2;
             ConsoleWrite('Da quet trang ' & $i & @crlf)
             $RQ &= _HttpRequest(2, 'http://www.magic22.com/page/' & $i, '', 'PHPSESSID=' & $Cookie)
             If @error then ConsoleWrite('!Lay tieu de trang ' & $i & ' that bai')
             Next

    local $aMP4[0]
    $RQQ = StringRegExp($RQ, '\">(.*?)\</a></h3>', 3)
    $RQ &= _HttpRequest(2, 'http://www.magic22.com/')
    $Link = StringRegExp($RQ, '<a href="(http://www.magic22.com/[\w\-]{10,})/">[\w\s]+</a>', 3)
    for $i = 0 to UBound($Link) - 1
       $RQ = _HttpRequest(2,$Link[$i])
       $Link_MP4 = StringRegExp($RQ, 'href="([^"]+\.mp4|[^"]+\.avi|[^"]+\.rar|[^"]+\.zip)"',1)
       if not @error Then
          _ArrayAdd($aMP4, $Link_MP4[0])
       Else
          _HttpRequest_test($RQ)
          msgbox(0,"error", $Link[$i])
       endIf
    Next

    Local $oExcel = _Excel_Open()
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookNew($oExcel)
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite Example", "Error creating the new workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
        _Excel_Close($oExcel)
        Exit
    EndIf

    _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aMP4, "A1")
    _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $RQQ, "B1")
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite Example 2", "Error writing to worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
     
     

Chia sẻ trang này

Đang tải...