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 [Solved] Cách lấy lịch sử duyệt web của Google Chrome?

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Quản lượng, 29/4/17.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Cho em hỏi cách lấy link từ lịch sử duyệt web của Google Chrome.
     
  2. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Mã (AutoIt):
    #include <Array.au3>
    $history_filepath = @LocalAppDataDir & '\Google\Chrome\User Data\Default\History'
    $af = StringRegExp(FileRead($history_filepath), '.{2}', 3)
    For $i = 1 To UBound($af) - 1
        Switch $af[$i]
            Case '00', '7F'
                $af[0] &= '01'
            Case Else
                $af[0] &= $af[$i]
        EndSwitch
    Next
    $af = StringRegExp(StringReplace(BinaryToString($af[0], 4), '%3A%2F%2F', '://'), '(?s)(https?:[\w\.\/\&\=\-\%]+)', 3)
    For $i = 0 To UBound($af) - 1
        $af[$i] = StringRegExpReplace(StringRegExpReplace($af[$i], '(\/\w*?)$', ''), '(\.)(aspx|html)(\w{1,})$', '$1$2')
    Next
    $af = _ArrayUnique($af)
    _ArrayDisplay($af)

    [​IMG]
     
  3. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Anh ơi! Sao nó không in ra cái gì cả. Cái array _ArrayDisplay($af) set @error = 1.
     
  4. DuyMinh

    DuyMinh Thành viên năng động
    • 28/34

    Tham gia ngày:
    14/3/17
    Bài viết:
    177
    Đã được thích:
    92
    Xài ngon mà?
    [​IMG]
     
    Phan Xich Long and Huân Hoàng like this.
  5. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Không biết tại sao máy mình chạy không được!
     
  6. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Check lại đường dẫn $history_filepath=@LocalAppDataDir&'\Google\Chrome\User Data\Default\History' . Có thể thư mục UserData của chrome cài trên máy bạn nó nằm ở chỗ khác :D:D
     
  7. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Đúng đường dẫn nhưng nó ko ra :'( có thể là máy em có vấn đề :'(
     
  8. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Code chỉ đọc file rồi lọc ra URL đã truy cập thôi, cái đó rất cơ bản nên chắc không phải do máy đâu. Bạn chụp cái hình lên để mình xem lỗi xem.
     
  9. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    [​IMG]
    Sau khi em nhấn F5 thì nó chẳng hiện lên gì cả!
     
  10. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Ủa nó cũng không báo lỗi luôn lạ vậy. Nếu nó đọc sai thì chắc chắn 2 chỗ StringRegexp trong code sẽ báo lỗi ngay lập tức chứ nhỉ ? :v Bạn quăng cái file History lên cho mình xem thử (nếu không có gì bí mật :p:p:p ) Còn không thì không báo lỗi kiểu này thì bó tay rồi không xác định được gì hết :D
     
  11. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    File History: https://drive.google.com/open?id=0B0p4sUwMj8rcUTVNWDV6Y1VCdU0[​IMG]
    Cảm ơn anh nha! Anh nhiệt tình quá :)
     
  12. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Chơi hẳn đọc bằng Sqlite luôn thì không thể nào lỗi được nữa nhoé và còn rất chi tiết nữa :D:D:D

    [​IMG]

    Code:
    Mã (AutoIt):
    #include <SQLite.au3>
    #include <SQLite.dll.au3>
    #include <Array.au3>
    Local $history_filepath = @LocalAppDataDir & '\Google\Chrome\User Data\Default\History'
    Local $aResult, $iRows, $iColumns
    _SQLite_Startup()
    $sqOpen = _SQLite_Open($history_filepath)
    _SQLite_GetTable2d(-1, "SELECT * FROM urls;", $aResult, $iRows, $iColumns)
    _SQLite_Close($sqOpen)
    _ArrayDisplay($aResult)
    Để code chạy được thì máy bạn phải có sqlite3.dll (file dll này có thể đặt trong Folder system32 hoặc đặt cùng thư mục với code). Nếu chưa có file dll này thì tải tại đây (chọn bản sqlite3.dll phù hợp với máy):
    Bản x86: https://sqlite.org/2017/sqlite-dll-win32-x86-3180000.zip
    Bản x64: https://sqlite.org/2017/sqlite-dll-win64-x64-3180000.zip
     
  13. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Còn đây là code không dùng sqlite3.dll, tuy nhiên có thể 1 số URL sẽ bị sai do StringRegExpReplace có thể xén sai nội dung URL: :p

    Mã (AutoIt):
    #include <Array.au3>
    Local $history_filepath = @LocalAppDataDir & '\Google\Chrome\User Data\Default\History'
    $hOpen = FileOpen($history_filepath, 16)
    $af = FileRead($hOpen)
    FileClose($hOpen)
    $af = StringRegExp(StringReplace(BinaryToString($af, 4), '%3A%2F%2F', '://'), '(?s)(https?:[\w\.\/\&\=\-\%]+)', 3)
    For $i = 0 To UBound($af) - 1
        $af[$i] = StringRegExpReplace(StringRegExpReplace($af[$i], '(\.)(aspx|html)(\w{1,})$', '$1$2'), '/.{0,5}$', '')
    Next
    $af = _ArrayUnique($af)
    _ArrayDisplay($af)

    [​IMG]
     
    Quản lượng thích bài này.
  14. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Anh ơi, nó bị lỗi không thể load file SQLite.dll, chạy không ra :'(
     
  15. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Bạn có làm theo đúng hướng dẫn của mình chưa vậy ?

     
  16. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Đặt cả trong system32 và cả thư mục code nhưng nó vẫn lỗi
     
  17. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Bạn giải nén file zip ra chưa ? SQLite.au3 là thư viện chuẩn đính kèm trong bản cài đặt AutoIT nên không có chuyện máy người này chạy, máy người kia không chạy được. :D
    Nếu có thể thì chụp hình cái thư mục chứa code của bạn để mình xem thử đúng chưa nào :p:p:p
     
  18. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Em bug thử cái code trong thư viện rồi :) Đến cái khúc DllCall trong thư viện nó bị lỗi :) Cái này em nghĩ là có thể máy em bị dính mã độc hay cái gì đó :)
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này

Đang tải...