Newbie hỏi kinh nghiệm làm web auto crawl YouTube

Discussion in 'AutoBlog' started by Dang Viet Hieu, Jul 8, 2019.

  1. Dang Viet Hieu

    Dang Viet Hieu Khách Qua Đường

    Em xin chào các bác, em là newbie mới vào nghề. Em muốn tham khảo mọi người về cách để tránh block khi crawl thằng YouTube, e thấy mấy thằng như findclip, clipzui thấy nó cũng clone link trực tiếp từ YouTube mà ko bị block bao giờ, có thủ thuật gì hay ko các bác? {adore} Chứ e sợ cứ ko ko chạy như thế khi số request lên thì sớm hay muộn gì nó cũng block sạch {beat_brick}
    Cảm ơn mn nhiều nhiều {lay}
     
  2. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Thằng nào block vậy. GG hay youtube
     
  3. Dang Viet Hieu

    Dang Viet Hieu Khách Qua Đường

    Dạ YouTube chứ ạ
     
  4. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Làm chục acc gmail console xong random thay đổi chắc ko bị block đâu
     
  5. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Tưởng gg block mới sợ chứ yt block thì thiếu gì cách đâu. Như cụ @Hoa Mãn Lâu kia cũng là 1 cách kìa. Dùng 1 tk request liên tục lại chả limit ak
     
  6. level10

    level10 Tân Thủ Thôn

    Giờ làm site kiểu này có được index nữa đâu {burn_joss_stick}
     
  7. Dang Viet Hieu

    Dang Viet Hieu Khách Qua Đường

    Dạ e cảm ơn các bác!
    @level10 sao ko dc index nữa vậy bác {adore} nghe hoang mang quá
     
  8. vipkhongtin

    vipkhongtin Sơ Nhập Giang Hồ

    không api thì xài dom hoặc regex bóc tách đi bác.
     
  9. sincos

    sincos Bang Chúng

    Cào trực tiếp trên web hay qua API của app nó ấy.
     
  10. wpresources

    wpresources Bang Chúng

    Bạn trực tiếp bằng cách nào thế ?
     
  11. Dang Viet Hieu

    Dang Viet Hieu Khách Qua Đường

    Có bị chặn ip bằng captcha ko các bác, e nghĩ nếu cứ dùng 1 ip của máy chủ để đi cào thì mơ sẽ chặn, có giải pháp gì ko ạ?
     
  12. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Nghĩ thôi à, làm thử i, nó ko chặn đâu, Bớt nghĩ và làm thực tế vào
    Cào bằng tool hoặc code tự viết nhé. có thể dùng tool bên thứ 3
     
    Vito_King likes this.
  13. chamchich

    chamchich Sơ Nhập Giang Hồ

    Đặt Google adsense trên web chỉ chứa video youtube có vi phạm gì ko các bác?
     
  14. wpresources

    wpresources Bang Chúng

    À mình muốn hỏi xem có kỹ thuật nào cào trực tiếp từ youtube mà không dùng api thôi? Ví dụ: lần pro chỉ mình tìm link json ẩn trong network ấy
     
  15. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    À gì chứ yt thấy cào trực tiếp xài curl để cào thôi thím. vô tư nó ko chặn nên cứ xài curl + xử lý string là ngon
     
  16. wpresources

    wpresources Bang Chúng

    Giao diện youtube mới toàn javascript nên để crawl mình chuyển về lại giao diện cũ bằng cách thêm mã cookie: cookie("PREF", "f6=43418&hl=en-GB") dễ lấy hơn nhiều
     
    CSGO and Vito_King like this.
  17. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Em toàn xài regex nên nếu có js thì củng lấy dc tốt. Thớt craw và xử lý bằng gì vậy ạ?
     
  18. wpresources

    wpresources Bang Chúng

    Regex thì với mình hơi khó.Mình dùng java và thư viện jsoup mã nó kiểu như dưới đây,khi crawl mình ko thấy báo bị youtube chặn nếu crawl nhiều nên vẫn dùng cách này.

    Code:
    public NewClass() {
            try {
                Connection.Response response = getResponse("https://www.youtube.com/channel/UCfihLMEFuVwt915maUhSG7w");
                if (response != null) {
                    Document document = response.parse();
    //Để lấy các selector bạn muốn thì có thể chuyển tạm giao diện về youtube loại cũ cho dễ lấy như sau https://kstranminhquang.com/huong-dan-khoi-phuc-giao-dien-youtube-cu/
                    System.out.println("Title: " + document.select("title").text());
                    System.out.println("Author Name: " + document.select("span.qualified-channel-title-text a").text());
                    System.out.println("...................");
                }
            } catch (IOException ex) {
                Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
        public Connection.Response getResponse(String url) throws IOException {
            try {
                return Jsoup.connect(url).cookie("PREF", "f6=43418&hl=en-GB")
                        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1")
                        .followRedirects(false)
                        .ignoreContentType(true)
                        .ignoreHttpErrors(true).timeout(6000).execute();
            } catch (IOException ex) {
            }
            return null;
        }
     
    Hoa Mãn Lâu likes this.
  19. sincos

    sincos Bang Chúng

    parse text mình chưa thấy thằng nào nhanh gọn bằng regx của PHP. Tiếc PHP ko có multi thread thôi. Khắc phục bằng cách chạy nhiều instance là ok.
     
    Nai likes this.
  20. Nai

    Nai MiddleMan Staff Member

    Chạy nhiều instance là sao cụ. CHo em keyword để search.
    Many thanks