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 đó

Trích xuất HTML, CSS và JavaScript từ bất kỳ trang web nào

Bạ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

  • Kỹ sư đảo ngược một trang web. Bằng cách trích xuất các tệp HTML, CSS và JavaScript nguồn của một trang web, bạn có thể nghiên cứu cách nó được tạo ra. Sử dụng nó để sao chép một thiết kế thú vị mà bạn thấy trên web hoặc xem một số mã của đối thủ cạnh tranh
  • Tìm kiếm các công cụ và ngăn xếp. Bằng cách xuất HTML, CSS và JS của trang web, giờ đây bạn cũng có thể tìm kiếm trong các tệp đó. Làm như vậy cho phép tìm kiếm các từ khóa, như. “stripe”, “intercom”, “tailwind” hoặc bất kỳ công nghệ hoặc điều thú vị nào mà bạn có thể theo đuổi. Các dịch vụ như BuildWith. com có ​​thể được làm lại bằng TexAu. Chúng tôi thực sự có một Tự động tra cứu công nghệ chỉ dành cho mục đích đó

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

  1. Tạo một tài khoản TexAu miễn phí tại đây
  2. Liệt kê các URL hồ sơ (hoặc URL của Tweets) để tự động thích
  3. Chạy tự động hóa ngay lập tức (và lên lịch lặp lạ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ẫn

Cài đặt

Sau 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

Làm cách nào để trích xuất mã JavaScript từ một trang web?
Trích xuất thiết lập tự động hóa HTML, JS và CSS
  • URL trang web. Nhập vào đây URL của một trang web mà bạn muốn trích xuất HTML, CSS và JS từ đó. Nếu bạn muốn nhắm mục tiêu nhiều trang web, hãy sử dụng tùy chọn CSV/Google Trang tính bên dưới
  • tên tệp. Chọn ở đây một cái tên để đặt cho. zip sẽ chứa tất cả các tệp HTML, CSS và JS đã xuất của bạn
  • Tải lên tệp CSV hoặc liên kết Google Trang tính. Nếu bạn muốn giải nén nhiều trang web, tải lên đây một. CSV chứa tất cả các URL của họ hoặc địa chỉ của bảng tính Google (đừng quên đặt nó ở chế độ công khai, xem Câu hỏi thường gặp bên dưới)
  • Khởi chạy tự động hóa. Nhấp vào nút này để bắt đầu tự động hóa
  • tự động hóa lịch biểu. Lên lịch để tự động hóa này chạy vào một thời điểm cụ thể hoặc khởi chạy nhiều lần

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ặp

Tạ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

Làm cách nào để trích xuất mã JavaScript từ một trang web?

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 để trích xuất mã JavaScript từ một trang web?

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

Làm cách nào để trích xuất mã JavaScript từ một trang web?

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 PhantomJS

Bướ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 PhantomJs

Nế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

  • Nhận HTML của URL mà bạn cung cấp (trong trường hợp này là 'https. //www. xx. đồng. Anh/xx’)
  • Viết mã HTML và JavaScript vào tệp có tên ‘website_phantom. html’, sẽ xuất hiện trong thư mục \phantomjs\bin

3. Sử dụng Alteryx để cập nhật URL và gọi PhantomJS

Lý 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

Làm cách nào để trích xuất mã JavaScript từ một trang web?

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'

Làm cách nào để trích xuất mã JavaScript từ một trang web?

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

Làm cách nào để trích xuất mã JavaScript từ một trang web?

Một vài điều cần lưu ý trong quy trình làm việc

  • Đảm bảo loại trường của URL đầu vào là V_Wstring, để độ dài chuỗi linh hoạt
  • Đảm bảo rằng công cụ Union đang nối các tệp theo đúng thứ tự
  • Alteryx có thể phát sinh lỗi khi ghi đè lên mẩu tin lưu niệm. tập tin js. Đặt công cụ 'Chặn cho đến khi hoàn thành' trước đầu ra, như tôi đã làm trong ví dụ này, sẽ ngăn điều đó xảy ra
  • Vì chúng tôi không muốn viết tên trường vào mẩu tin lưu niệm. js, hãy sử dụng công cụ Đổi tên động để 'Lấy tên trường từ hàng dữ liệu đầu tiên'

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 js

Bướ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

Làm cách nào để trích xuất mã JavaScript từ một trang web?

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

  • Đặt thư mục làm việc (setwd) thành vị trí của tệp thực thi PhantomJS
  • Tập hợp (dán) lệnh cần thiết để chạy bản ghi. js với PhantomJS. người cũ
  • Sử dụng hàm system() của R để chạy lệnh đó, như thể nó đang chạy nó thông qua thiết bị đầu cuối cmd

Đó 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\

Làm cách nào để trích xuất mã JavaScript từ một trang web?

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ẻ