QuânSysAd's Blog: wget
Hiển thị các bài đăng có nhãn wget. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn wget. Hiển thị tất cả bài đăng

22 tháng 8 2017

Linux, shell script: Sự kết hợp giữa wget, sed, awk để download.

Dùng để download từ libgen.pw

```
#!/bin/bash

cd $(dirname $0)
LINKS="$1"

for i in $(phantomjs save_page.js "$LINKS" | grep pdf | sed 's@+@ @g;s@%@\\x@g'| xargs -0 printf "%b" | awk 'BEGIN{FS="chl="} {print $2}' | awk 'BEGIN{FS="\""} FNR==3 {print $1}' | sed 's/\ /%20/g')
do
NAMES=$(echo $i |sed "s/%20/\ /g"| awk -F'hidden0=' '{print $2}')
echo "$NAMES"
wget --header\="Referer: "$LINKS"" -O "$NAMES" "$i"
done
```


Trong đó save_page.js có nội dung như sau:

```
var system = require('system');
var page = require('webpage').create();

page.open(system.args[1], function()
{
console.log(page.content);
phantom.exit();
});
```

24 tháng 7 2017

Linux wget: Download đổi tên file sau khi link bị redirect

Bạn đang cần download một file bằng wget, nhưng trong đường dẫn không có tên file.

Ví dụ link sau

http://www.example.org/scripts/download_script.php?src_id=9750

Sau khi download bằng wget ta có thể chỉ nhận được file có tên là `download_script.php?src_id=9750`. Thật ức chế.


Để khắc phục việc này ta cần thêm tùy chọn --content-disposition để wget lưu tên file sau khi bị redirect

Ví dụ

wget --content-disposition 'http://www.example.org/scripts/download_script.php?src_id=9750'


Hoặc dùng tùy chọn --trust-server-names

Ví dụ:

wget --trust-server-names 'http://www.example.org/scripts/download_script.php?src_id=9750'


Chúc các bạn thành công.