下载一个html网页后,怎么编程获得该网页上与显示相关的图片、css、js?

下载一个html网页后,该网页上会链接与显示相关的图片、css、js
比如<img src="./a.jpg" />
<script link='b.js' />
缺少这些文件,网页将无法在本地显示出该有的效果。
编程该怎么样获得这些图片,css,js的真实地址url(考虑相对路径)?
便于一起下载下来?
请说一些切实可行的算法思路...分给最简易可行者
注意,是“编程获得",而不是用应用软件获得
编程语言不限。。
最新回答
熊宝宝

2020-09-16 09:04:52

直接文件另存为,应该就可以自动下载图片和JS CSS了吧
追问
题目问“编程获得”
追答
额、、编程获得呀。。这个就比较复杂了

需要先获取源码->使用正则获取地址->转换为URL->在获取JS或者图片CSS保存->替换原来的地址->将最后新的源码保存

这也是一般的数据采集思路,网上多的是图片可以保存的,JS、CSS一起保存的没见过,但是原理一样的。
╭⌒浅浅笑

2021-10-04 20:25:51

楼上说的是对的
夏沫南栀

2023-09-06 14:49:57

用正则表达式分析出像图片外链css、js等元素然后判断连接的类型是相对路径还是绝对路径,绝对路径直接下载文件,相对路径根据当前页面取得真是uri并下载。
还有就是在保存文件是主要文件路径,让保存的html真正连接到了现在的文件。我的一点想法不知道能不能帮到你。
叆叇若紫

2023-05-06 04:08:47

preg_replace($pattern, $replacement, $string);

获取取当前网址。
查找网页中含有文件图片或JS的内容,正则替换。$url.'*.jpg'
唐伯虎点蚊香

2023-02-28 16:47:35

在网页的<head>后面加上
<base href="原网站的域名"></base>
就可以完整的显示出来,
如果要下载的话,就是用正则匹配到每一个SRC,LINK之类的.然后[原网站的域名加在前面],
当然带http的这种绝对路径不用加,然后用程序下载就行了.
不过css里的图片就需要和CSS的路径对应了