首页 > 解决方案 > Wget 或 Curl 的用法。如何根据正则表达式的地址下载所有“index.html”文件

问题描述

我被简单的任务困住了。这是我正在尝试做的伪代码:

wget -i https://somesite/jobs/companies/*/addresses/index.html -o myfolder

上面的伪代码应该把所有公司的地址放在我的文件夹中。地址结构始终相同:https://somesite/jobs/companies/<SOMECOMPANY>/addresses/. 我需要以某种方式告诉 wget 或 curl 如果您愿意,根据模式下载文件。

到目前为止我已经尝试过:

wget -spider -r --user-agent="wget" --accept-regex=".*?/companies/.*?/addresses/.*?\.html" https://jobs.somesite.com/companies/

-spider选项告诉 wget 不要下载任何东西。目前,唯一的文件wget已经获取,有jobs.somesite.com/companies/index.html地址。

问题是。如何使用上述架构制作公司地址列表?

标签: curlwget

解决方案


要么我的regexp字符串出错,要么wget --accept-regex不理解文件扩展名过滤器。

接受并下载完整列表的命令是:

wget -m --user-agent="wget" -A="html" --regex-type=pcre --accept-regex=".*?/companies/.*?/offices/" https://jobs.somesite.com/companies/

该网站仍然提供公司的动态列表。所以只下载了列表的一部分:P


推荐阅读