输入一个网址,然后根据这个网址定期不重复的把链接下面多有关联的 url 上的 rar、doc 等等文件都保存到本地? 有没有最简单的 python 或 go 处理办法?
1
nilrust 2018-08-27 08:44:36 +08:00
要看你那个网站怎么提供下载,
如果是直接提供下载链接地址(静态 http 地址、ftp 地址、ed2k/bt/迅雷 等地址)那好办; 但如果他的下载链接要鉴权用户登录,下载还要输入验证码,下载内容是通过代码业务逻辑处理后才转发文件,这个爬虫写起来就会麻烦点 |
2
delectate 2018-08-27 09:11:19 +08:00
简单的办法,就是用搜索引擎,google,加上 filetype:doc 这样的参数。
|
4
csx163 2018-08-27 10:07:15 +08:00
你这个需求可以考虑第三方工具
|
5
lanwairen123 2018-08-27 13:01:39 +08:00 via Android
|
6
PulpFunction 2018-08-27 14:04:08 +08:00
动手就能解决 beautifulsoup+requests
太多了 贴个网站源码看一下? |
7
sjmcefc2 OP @PulpFunction 收到,可能也只能是 bs4+requests
|
8
sjmcefc2 OP @lanwairen123
wget -c -r -np -k -L -l 3 -p www.xxx.org/pub/path/ -c 断点续传 -r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件 -np 递归下载时不搜索上层目录,如 wget -c -r www.xxx.org/pub/path/,没有加参数-np,就会同时下载 path 的上一级目录 pub 下的其它文件 -k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数 -L 递归时不进入其它主机,如 wget -c -r www.xxx.org/ 如果网站内有一个这样的链接:www.yyy.org ,不加参数-L,就会像大火烧山一样,会递归下载 www.yyy.org 网站;但是现在很多的 css、js、img 都不在项目的目录下保存,而是在 html 页面中 src 一个 http 引用,所以如果想要一并 download 当前页面引用的 http 资源,比如 js,css,img,那么这个参数就需要省略 -l 下载层级,默认最大为 5 级,一般情况下 3 级就够了 -p 下载网页所需的所有文件,如图片等 哎呀,这样的话,是不是搜索引擎(爬虫部分)就失业了? 想着做一个局域网内的搜索引擎,不知道哪里有可以参考的代码。 |
9
PulpFunction 2018-08-27 14:56:02 +08:00
|
10
PulpFunction 2018-08-27 14:57:13 +08:00
全当我没说
|
11
sjmcefc2 OP @PulpFunction 非常感谢指点。确实网站特简单,一般就是,title,然后就是 doc 之类的下载链接了。就是怕爬重复了,想着每天怕新内容。
|
12
loveCoding 2018-08-27 16:19:21 +08:00
具体问题具体分析 , 写代码也不过半天功夫吧
|
13
XxxxD 2018-08-27 16:22:16 +08:00
urllib3 的 urlretrieve,不过比 request 慢得多,感觉就是 requests.get().content
|
14
winglight2016 2018-08-27 20:58:29 +08:00
既然是局域网,直接通过网络共享文件夹复制黏贴多简单
|
15
sjmcefc2 OP @loveCoding 主要都是自学,也没啥可以交流的人,所以其实写的思路上非常局限。得向大家讨教。
@winglight2016 这个,,,,还真是不行。 @XxxxD 嗯,觉得 requests 挺好用了, |