Làm cách nào để trích xuất mã JavaScript từ một trang web?
Trình thu thập dữ liệu web này được thiết kế để truy cập bất kỳ trang web nào bạn muốn, đồng thời giải nén và tải xuống tất cả các tệp HTML, CSS và JavaScript (JS) có sẵn trên trang web đó Show
Trích xuất HTML, CSS và JavaScript từ bất kỳ trang web nàoBạn đã bao giờ muốn có thể giải cấu trúc một trang web chưa? . Nhưng tính năng tự động hóa này sẽ làm điều đó cho bạn, sắp xếp tất cả các tệp và phân phối tệp đó tới bảng điều khiển TexAu của bạn sau ~10 giây Trình trích xuất HTML TexAu chắc chắn sẽ trích xuất HTML, CSS và JS hoặc một trang web, nhưng nó cũng có thể lấy danh sách 10 trong số 1.000 trang web và trích xuất tất cả mã của chúng một cách dễ dàng Một vài trường hợp sử dụng trích xuất HTML
Trường hợp sử dụng của bạn là gì? Làm cách nào để xuất HTML, CSS và JS bằng TexAu?TexAu giúp bạn dễ dàng tải xuống mã nguồn của bất kỳ trang web nào bằng trình trích xuất HTML của chúng tôi
TexAu sẽ thay mặt bạn kết nối với Twitter, từ đám mây, vì vậy bạn không cần phải nghĩ đến việc bật máy tính của mình hướng dẫnCài đặtSau khi đăng nhập vào tài khoản TexAu của bạn và thêm tự động hóa này vào tài khoản của bạn, bạn sẽ đối mặt với màn hình thiết lập này
Nếu đây là lần đầu tiên bạn sử dụng TexAu, chúng tôi khuyên bạn nên đọc Câu hỏi thường gặp Câu hỏi thường gặpTại sao tôi nên sử dụng Google Trang tính?Khi bạn muốn xuất nhiều trang web mà không phải thay đổi trường #2 mỗi lần, bạn có thể sử dụng URL của bảng tính Google để thay thế Để làm điều này, chỉ cần đặt mọi URL mục tiêu mà bạn muốn nhắm mục tiêu vào cột đầu tiên của trang tính như vậy Sau đó đặt trang tính Google của bạn ở chế độ công khai. Không có nó, TexAu sẽ không thể truy cập nó Làm cách nào để lên lịch tự động hóa của tôi khởi chạy nhiều lần?Tự động hóa không phải lúc nào cũng được hoan nghênh. Để tránh bị tạm ngưng, hãy ưu tiên thực hiện nhiều lần ra mắt nhỏ hơn một lần ra mắt lớn Làm cách nào để tải xuống kết quả của bạn?Sau khi khởi chạy tự động hóa, bạn sẽ thấy TexAu thực hiện công việc của mình trong phần nhật ký. Nó sẽ trông giống như thế JavaScript là ngôn ngữ lập trình hoặc kịch bản được giải thích từ Netscape. Nó thường được sử dụng để phát triển web phía máy khách. Nó là một ngôn ngữ dựa trên nguyên mẫu động, gõ yếu. JavaScript thường được sử dụng trong quá trình phát triển trang web để tự động thay đổi ngày được định dạng trên trang web, khiến trang được liên kết xuất hiện trên cửa sổ bật lên hoặc để thêm một số hiệu ứng cuộn qua JavaScript Extractor Tool cho phép trích xuất JavaScript có trong một trang web. Nó cũng có thể tùy chọn hiển thị kết quả ở dạng được định dạng tốt Quét web là một phương pháp cực kỳ hiệu quả để lấy dữ liệu được lưu trữ trên web. Ở dạng đơn giản nhất, quét web liên quan đến việc truy cập mã HTML (ngôn ngữ lập trình nền tảng mà các trang web được xây dựng trên đó) của một trang web nhất định và phân tích cú pháp mã đó để trích xuất một số dữ liệu. Các công cụ như Alteryx và R có thể được sử dụng để thực hiện các hành động này khá dễ dàng, bằng cách cho họ biết URL nào sẽ đọc mã HTML từ đó và định dạng lại mã để xuất dữ liệu quan tâm Một vấn đề phổ biến mà người ta có thể gặp phải khi tìm kiếm theo cách này là khi dữ liệu quan tâm không có trong mã HTML mà thay vào đó được xuất bản lên trang web bằng JavaScript. JavaScript là ngôn ngữ lập trình cấp cao hơn cho phép các trang web tăng tính tương tác. Trong những trường hợp này, khi bạn xem mã HTML của một trang web, dữ liệu được xuất bản bằng JavaScript sẽ không được nhìn thấy. Lấy ví dụ về trang kết quả tìm kiếm của trang web đại lý bất động sản này. Giả sử chúng tôi muốn thu thập thông tin về giá từ mỗi danh sách nhà trên trang Hãy xem qua mã HTML từ trang này và xem liệu bạn có thể phát hiện ra giá nhà đó hay bất kỳ giá nhà nào cho vấn đề đó không (Tôi đã xóa mọi trường hợp tên công ty để giữ ẩn danh). Trên thực tế, không có thông tin nào chúng ta có thể thấy trong ảnh chụp màn hình ở trên xuất hiện trong mã HTML. Một cách nhanh chóng và bẩn thỉu để xác định xem JavaScript có liên quan đến việc tạo nội dung này hay không là tắt JS trong trình duyệt web của bạn và tải lại trang (e. g. trong Chrome. Cài đặt > Nâng cao > Cài đặt nội dung > JavaScript > Tắt). Khi tôi tắt JavaScript cho trang web trong ví dụ của mình, không có nội dung mục tiêu nào của tôi xuất hiện, vì vậy tôi sẽ cho rằng JavaScript đang hoạt động ở đây Tôi sẽ trình bày một giải pháp mà tôi đã điều chỉnh từ một bài đăng blog tuyệt vời của Brooke Watson, giải pháp này sử dụng phần mềm miễn phí có tên PhantomJS để cho phép chúng tôi truy cập mã được đẩy bởi JavaScript. Điều này có thể được sử dụng trong R, như Brooke đã chỉ ra trong bài đăng của cô ấy, nhưng vì chúng tôi đang sử dụng Alteryx tại Trường dữ liệu, tôi nghĩ tôi sẽ chỉ ra cách nó có thể được sử dụng trong Alteryx 1. Tải xuống PhantomJSBước đầu tiên là tải xuống PhantomJS cho hệ điều hành bạn chọn và dán nó vào nơi nào đó dễ truy cập – tôi đặt nó trong thư mục Tài liệu của mình. Tệp thực thi của phần mềm được tìm thấy trong thư mục \bin. Tôi khuyên bạn nên đổi tên của thư mục mẹ thành 'phantomjs', để sau này dễ nhớ lại đường dẫn tệp hơn 2. Viết một tệp đầu vào cho PhantomJsNếu bạn mở tệp thực thi PhantomJS trong thư mục \bin, bạn sẽ nhận thấy rằng nó trông giống như thiết bị đầu cuối Dấu nhắc lệnh trong Windows hoặc thiết bị đầu cuối Mac. Vì vậy, PhantomJS cần mã làm đầu vào, để cho nó biết URL nào sẽ tải xuống mã nguồn từ đó. Mã (như được điều chỉnh từ bài đăng của Brooke) như sau var url = 'https://www.xx.co.uk/xx'; var page = new WebPage(); var fs = require('fs'); page.open(url, function (status) { just_wait(); }); function just_wait() { setTimeout(function() { fs.write('website_phantom.html', page.content, 'w'); phantom.exit(); }, 2500); } Sao chép mã này vào một tệp văn bản và lưu nó dưới tên 'scrape. js’ trong thư mục \phantomjs\bin\, nơi chứa tệp PhantomJS thực thi của bạn Khi đọc vào PhantomJS, bản ghi. js sẽ làm như sau
3. Sử dụng Alteryx để cập nhật URL và gọi PhantomJSLý tưởng nhất là chúng tôi muốn có một quy trình làm việc của Alteryx có thể tự động cập nhật trang web mà chúng tôi muốn cạo, theo danh sách các URL mà chúng tôi cung cấp cho Alteryx. Đối với ví dụ này, tôi đã sử dụng công cụ Nhập văn bản và tạo một trường có tên là 'trang web' với một giá trị chứa URL của trang web mà tôi muốn thu thập Sử dụng một công cụ nhập liệu khác, chúng tôi có thể tải mẩu tin lưu niệm. js mà chúng ta đã tạo trước đó. Đọc nó như một. csv, đặt dấu phân cách thành '\ n' (dòng mới) và bỏ chọn tùy chọn 'Hàng đầu tiên chứa tên trường' Bạn có thể thấy rằng hàng đầu tiên của bản ghi của chúng tôi. js chứa một URL giả mà chúng tôi muốn thay thế bằng URL có trong công cụ nhập văn bản của chúng tôi. Tiếp theo, chúng tôi muốn thực hiện một số xử lý để thay thế dòng đầu tiên của bản ghi. js với URL của chúng tôi từ tệp nhập văn bản. Có một số cách bạn có thể tiếp cận điều này, nhưng đây là những gì tôi đã làm Một vài điều cần lưu ý trong quy trình làm việc
Bây giờ cạo của chúng tôi. js chứa URL mục tiêu của chúng tôi và đã sẵn sàng để tải vào PhantomJS 4. Nói với PhantomJS để chạy scrape. tập tin jsBước cuối cùng là chạy PhantomJS bằng cách cạo. js làm đầu vào. May mắn cho chúng tôi, chúng tôi có thể làm điều này dễ dàng từ bên trong Alteryx. Alteryx có công cụ Run Command, nhìn bề ngoài có vẻ như là công cụ hoàn hảo cho công việc. Vấn đề duy nhất là nó không cho phép chỉ định các đối số lệnh từ một kết nối công cụ đến và vì vậy chúng phải được nhập thủ công, điều mà tôi muốn tránh nếu chúng ta muốn giữ cho quy trình này linh hoạt nhất có thể Thay vào đó, tôi sẽ sử dụng Công cụ R, được bao gồm trong gói Công cụ dự đoán mà bạn có thể thêm vào Alteryx. Dán công cụ R vào cuối quy trình làm việc sau một công cụ 'Chặn cho đến khi hoàn thành' khác, vì chúng tôi muốn nó chỉ chạy sau khi cạo. tập tin js đã được cập nhật Vào Công cụ R, dán đoạn mã sau setwd("C:/Users/scallybrian/Documents/phantomjs/bin") js_path = "scrape.js" phantompath = "phantomjs.exe" command = paste(phantompath, js_path, sep = " ") system(command) Xem nhanh những gì mã này làm
Đó là bản chất nó. PhantomJS bây giờ sẽ đọc URL mục tiêu và viết mã HTML/JavaScript cơ bản vào một tệp có tên 'website_phantom. html’ trong thư mục \phantomjs\bin\ Sau đó, bạn có thể xây dựng quy trình làm việc Alteryx của mình để đọc và phân tích cú pháp tệp HTML để trích xuất dữ liệu mà bạn quan tâm Bạn có thể trích xuất mã HTML từ trang web không?Nếu muốn tự động trích xuất dữ liệu từ một trang web, bạn sẽ phải xử lý một đống mã HTML. Trình quét web có thể giúp bạn trích xuất dữ liệu từ bất kỳ trang web nào và cũng lấy bất kỳ thuộc tính HTML cụ thể nào như thẻ lớp và tiêu đề.
Làm cách nào để lấy js trong HTML?Để bao gồm một tệp JavaScript bên ngoài, chúng ta có thể sử dụng thẻ script với thuộc tính src . Bạn đã sử dụng thuộc tính src khi sử dụng hình ảnh. Giá trị cho thuộc tính src phải là đường dẫn đến tệp JavaScript của bạn. Thẻ tập lệnh này phải được bao gồm giữa các thẻ |