Script Download Text Python Hỗ Trợ nhiều trang

  1. yuhnb

    yuhnb Thành viên kích hoạt

    Tham gia ngày:
    11/3/17
    Bài viết:
    3
    Được thích:
    8
    • Giới Thiệu
    Tại hạ mới học viết Python được mấy ngày, chưa bao giờ có kinh nghiệm lập trình. Cũng không biết deploy nó ra dạng exe ntn nên có thể hơi bất tiện. Script này hỗ trợ download từ nhiều trang khác nhau. Nhưng các đồng đạo phải down riêng từ script cho từng trang truyện, vì tại hạ cũng chưa biết cách gộp chung nó vào 1 script ntn haha.

    Script này sẽ copy xuất ra dạng text. Nó đã có thể xóa khá nhiều quảng cáo trong text, nhưng những quảng cáo nào được viết bằng text thì trong tương lai có thể sẽ loại bỏ ra sau.

    • Yêu cầu để chạy script:

    Máy tính phải có Python 3+, Download bản mới nhất ở đây:
    Mã:
    https://www.python.org/downloads/
    Hoặc tải bộ Anaconda (đã có Python trong đó) nặng hơn nhưng có nhiều lib đã được cài sẵn ở đây: (Recommended)
    Mã:
    https://www.continuum.io/downloads
    Ok sau khi tải xong Python hoặc Anaconda bản mới nhất về. Cài đặt xong xuôi. Đồng đạo cần tải thêm một cái lib Scrapy nữa mới có thể chạy được. Cách cài như sau:

    1. Vào phần search trong Windows gõ cmd
    2. Ra cái bảng cmd đen đen rồi thì gõ vào
    Mã:
    pip install Scrapy
    3. Chờ nó cài xong mất mấy chục giây là xong tắt đi cũng được

    • Cách chạy Script
    01. Download Script cho trang muốn tải txt về.
    02. Vào Folder Script ngay ở chỗ có scrapy.cfg thì nhấn SHIFT+ chuột phải ra khoảng trống (không phải vào file nha)
    03. Chọn "Open Power Shell windows here" (power shell hoặc commend line gì đó tùy vào version của windows)
    04. Nó hiện ra cái bảng cmd thì mình gõ vào (tải ở trang nào thì thay tên vào truyenfull, webtruyen, webtruyenonline, truyenhixx ...)
    Mã:
    scrapy crawl truyenfull 
    05. Script sẽ hỏi là link muốn tải. Các đồng đạo chọn Chương 1 của truyện muốn tải, copy và paste vào cmd. Ví dụ
    Mã:
    Link đúng: http://truyenfull.vn/quy-vuong-thu-phi-toan-he-trieu-hoi-su/chuong-1/
    Link không hợp lệ: http://truyenfull.vn/quy-vuong-thu-phi-toan-he-trieu-hoi-su/
    
    06. Bam - chờ nó tải xong, xuất ra file text. Profit ~!

    ## Có vẻ lằng nhằng nhưng rất đơn giản để hôm nào tại hạ rảnh sẽ làm vids tutorial

    Dưới đây là các script:
    Mã:
    01. TruyenFull : https://drive.google.com/open?id=0B0Ql75zVQ96xang5QkwyTTZBVFE
    02. WebtruyenOnline: https://drive.google.com/open?id=0B0Ql75zVQ96xYjJ0YXBXcGFQVjQ
    03. TruyenCV: https://drive.google.com/open?id=0B0Ql75zVQ96xeTVsTGFvQ2xMVVE
    04. Truyenhixx: https://drive.google.com/open?id=0B0Ql75zVQ96xUncwNm9ReEpKS28
    05. TruyenYY: https://drive.google.com/open?id=0B0Ql75zVQ96xRzJMejJuNmNBSmM
    06. Webtruyen: https://drive.google.com/open?id=0B0Ql75zVQ96xYjJ0YXBXcGFQVjQ
    07.
    08.
    09.
    10.
    
    
     
    Chỉnh sửa cuối: 26/5/17
    Lôi Soái, Gia Nguyên, Chpn and 2 others like this.
  2. yuhnb

    yuhnb Thành viên kích hoạt

    Tham gia ngày:
    11/3/17
    Bài viết:
    3
    Được thích:
    8
    Đây là những trang dùng Javascript để chặn copy, các đồng đạo cần phải tải ChromeDriver và Selenium lib về mới download được. ChromeDriver là browser để script nó mở lên giải mã javascript và copy được text về. Còn Selenium dùng để tự động bật cái chromedriver lên. Bởi vì script nó phải mở từng chương lên mới download được cho nên những trang này thường down lâu:
    Cách cài Selenium lib, vào cmd gõ:
    Mã:
    pip install selenium
    Link down Chromedriver:
    Mã:
    https://sites.google.com/a/chromium.org/chromedriver/
    Sau khi tải xong vào script sửa lại đường dẫn đến chromedriver.exe. Mặc định là:
    Mã:
    def __init__(self):
        self.driver = webdriver.Chrome("D:\Webscape\Selenium\chromedriver.exe")
    
    Tải chromedriver về rồi thì làm y chang như những trang trước:

    Mã:
    01. SStruyen: https://drive.google.com/open?id=0B0Ql75zVQ96xZ2NvX2k0WlByYWc
    02. Xs222.com: https://drive.google.com/open?id=0B0Ql75zVQ96xNVA2UTExQUNVV28
    
     
    Chỉnh sửa cuối: 30/5/17
    Lôi Soái thích bài này.
  3. Duy Minh

    Duy Minh Thành viên kích hoạt

    Tham gia ngày:
    6/10/14
    Bài viết:
    188
    Được thích:
    144
    Về sstruyen.com, nếu không sử dụng ChromeDriver thì mình có cách như sau:
    Ví dụ: http://sstruyen.com/m/tien-hiep/tuyet-the-duong-mon/chuong-1-linh-mau-thieu-nien/184850.html
    Sử dụng LHH để bắt request của nó:
    Ta thấy URL chứa nội dung truyện sẽ là:
    http://cf.sstruyen.com/doc-truyen/index.php?ajax=ct&id=184850&t=00000000000000
    => Tách ID từ URL của truyện rồi thế vào link dưới là ta sẽ ra được nội dung của nó. Mà cái trang này chỉ chứa nội dung nên nhẹ cực kỳ. Đảm bảo request để get còn nhanh hơn mấy trang khác nhiều luôn ấy.
    Mình xin hết, và cảm ơn thím đã viết cho anh em dùng. !
     
    Chỉnh sửa cuối: 3/6/17
    yuhnb thích bài này.

Thành viên đang xem bài viết (Users: 0, Guests: 0)