我正尝试使用 wget 以递归方式从特定站点( https://isna.ir/ )下载 1000 个 HTML 页面(这是我们课程作业的一部分),但它只下载一个 index.html 文件。
我尝试了 wget 提供的许多选项,但都不起作用,我也尝试了--reject="index.html"
命令:
wget --recursive -nd -np --random-wait -U Googlebot -P ./isna_crawl https://isna.ir/
我正尝试使用 wget 以递归方式从特定站点( https://isna.ir/ )下载 1000 个 HTML 页面(这是我们课程作业的一部分),但它只下载一个 index.html 文件。
我尝试了 wget 提供的许多选项,但都不起作用,我也尝试了--reject="index.html"
命令:
wget --recursive -nd -np --random-wait -U Googlebot -P ./isna_crawl https://isna.ir/
看起来该网站在访问其根目录时设置了一个 cookie,随后必须出示该 cookie 才能访问其他页面。
看来 wget 在递归下载页面时默认不会保留请求之间的 cookie。
尝试将这些标志添加到 wget 调用:
我使用一组更简单的选项标志对此进行了测试:
wget --save-cookies cookies.txt --load-cookies cookies.txt -r -l2 https://www.isna.ir/
从问题中移出
解决方案:
使用此命令很有帮助: