Cách trích xuất liên kết tắt bất kỳ trang web nào bằng PowerShell
PowerShell 3 có rất nhiều tính năng mới, bao gồm một số tính năng mới liên quan đến web. Chúng đơn giản hóa đáng kể 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 từng liên kết ra khỏi trang web và tùy chọn tải xuống tài nguyên nếu bạn muốn.
Quét web bằng PowerShell
Có hai lệnh ghép ngắn mới giúp tự động hóa web dễ dàng hơn, Invoke-WebRequest, giúp phân tích nội dung dễ đọc của con người và Invoke-RestMethod giúp 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, 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.
Gọi-WebRequest -Uri 'http://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 ta có thể sử dụng tính năng liệt kê thành viên mới của PowerShell 3 để lọc các phản hồi này.
(Gọi-WebRequest -Uri 'http://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à lúc bạn cần sử dụng trí tưởng tượng của mình để tìm ra thứ gì đó độc đáo để lọc ra các liên kết bạn đang tìm kiếm. Giả sử chúng tôi muốn một danh sách tất cả các bài viết trên trang nhất.
((Invoke-WebRequest -Uri 'http://howtogeek.com') .Links | Where-Object $ _. Href giống như http http: * | Trường hợp -eq tựa đề chủ đề).
Một điều tuyệt vời khác 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. Hãy xem xét tự động xóa hình ảnh trong ngày trên trang web Nat Geo, để thực hiện đ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 'http://phzeriay.nationalgeographic.com/phftimey/photo-of-the-day/').Links | Trong đó
Start-BitsTransfer -Source $ IOTD -Destination C: \ IOTD \
Thats tất cả để có nó. Có bất kỳ thủ thuật gọn gàng của riêng bạn? Hãy cho chúng tôi biết trong các ý kiến.