Làm thế nào để trích xuất liên kết ra bất kỳ trang web bằng cách sử dụng PowerShell

Mục lục:

Làm thế nào để trích xuất liên kết ra bất kỳ trang web bằng cách sử dụng PowerShell
Làm thế nào để trích xuất liên kết ra bất kỳ trang web bằng cách sử dụng PowerShell

Video: Làm thế nào để trích xuất liên kết ra bất kỳ trang web bằng cách sử dụng PowerShell

Video: Làm thế nào để trích xuất liên kết ra bất kỳ trang web bằng cách sử dụng PowerShell
Video: Cách thay đổi màu sắc thanh Taskbar win 10 - YouTube 2024, Tháng tư
Anonim
PowerShell 3 có rất nhiều tính năng mới, bao gồm một số tính năng liên quan đến web mới mạnh mẽ. Chúng đơn giản hóa việc tự động hóa web và hôm nay chúng tôi sẽ chỉ cho bạn cách bạn có thể trích xuất mọi liên kết ra khỏi trang web và tải xuống tài nguyên nếu bạn muốn.
PowerShell 3 có rất nhiều tính năng mới, bao gồm một số tính năng liên quan đến web mới mạnh mẽ. Chúng đơn giản hóa việc tự động hóa web và hôm nay chúng tôi sẽ chỉ cho bạn cách bạn có thể trích xuất mọi liên kết ra khỏi trang web và tải xuống tài nguyên nếu bạn muốn.

Cạo Web bằng PowerShell

Có hai cmdlet mới giúp tự động hóa web dễ dàng hơn, Invoke-WebRequest giúp phân tích cú pháp nội dung dễ đọc của con người dễ dàng hơn, và Invoke-RestMethod làm cho nội dung dễ đọc hơn cho máy. Vì các liên kết là một phần của HTML của một trang nên chúng là một phần của nội dung có thể đọc được của con người. Tất cả những gì bạn phải làm để có được một trang web là sử dụng Invoke-WebRequest và cung cấp cho nó một URL.

Invoke-WebRequest –Uri ‘https://howtogeek.com’

Nếu bạn cuộn xuống, bạn sẽ thấy phản hồi có thuộc tính liên kết, chúng tôi có thể sử dụng tính năng liệt kê thành viên mới của PowerShell 3 để lọc chúng.
Nếu bạn cuộn xuống, bạn sẽ thấy phản hồi có thuộc tính liên kết, chúng tôi có thể sử dụng tính năng liệt kê thành viên mới của PowerShell 3 để lọc chúng.

(Invoke-WebRequest –Uri ‘https://howtogeek.com’).Links

Như bạn có thể thấy bạn nhận được rất nhiều liên kết trở lại, đây là nơi bạn cần sử dụng trí tưởng tượng của mình để tìm thứ gì đó độc đáo để lọc ra các liên kết mà bạn đang tìm kiếm. Giả sử chúng ta muốn danh sách tất cả các bài viết trên trang đầu.
Như bạn có thể thấy bạn nhận được rất nhiều liên kết trở lại, đây là nơi bạn cần sử dụng trí tưởng tượng của mình để tìm thứ gì đó độc đáo để lọc ra các liên kết mà bạn đang tìm kiếm. Giả sử chúng ta muốn danh sách tất cả các bài viết trên trang đầu.

((Invoke-WebRequest –Uri ‘https://howtogeek.com’).Links | Where-Object {$_.href -like “http*”} | Where class -eq “title”).Title

Một điều tuyệt vời nữa bạn có thể làm với các lệnh ghép ngắn mới là tự động tải xuống hàng ngày. Cho phép xem xét tự động cạo hình ảnh của ngày ngoài trang web Nat Geo, để làm điều này, chúng tôi sẽ kết hợp các lệnh ghép ngắn web mới với Start-BitsTransfer.
Một điều tuyệt vời nữa bạn có thể làm với các lệnh ghép ngắn mới là tự động tải xuống hàng ngày. Cho phép xem xét tự động cạo hình ảnh của ngày ngoài trang web Nat Geo, để làm điều này, chúng tôi sẽ kết hợp các lệnh ghép ngắn web mới với Start-BitsTransfer.

$IOTD = ((Invoke-WebRequest -Uri ‘https://photography.nationalgeographic.com/photography/photo-of-the-day/’).Links | Where innerHTML -like “*Download Wallpaper*”).href Start-BitsTransfer -Source $IOTD -Destination C:IOTD

Thats tất cả để có nó. Có bất kỳ thủ thuật gọn gàng nào của riêng bạn không? Hãy cho chúng tôi biết trong phần bình luận.

Đề xuất: