这是一篇很无脑的获取网页资源的方法,首先你需要的是一个chrome的插件
SingleFile
这个插件能够批量快速的保存你已经打开的页面,当然这种方法可能还需要配点手动,单目标庞大的时候就完全不管用了。所以可以如下图所示在SingleFile 的查看挂起的保存项内。右上角有一个添加网站的地方,这边就能够批量添加网址了。
在给大家介绍一个chrome 的插件
xpath
大家可以看到在这种方式下我就能获取到当前页面所有的URL了,于是我们就能愉快的填入SingleFile中了。开启了页面批量保存。
到这里还不算结束,因为很多情况下,保存下来的页面名称都是一样的非常的不方便,于是我准备了个python的小脚本
import os
from lxml import etree
path = "C:\\Desktop\\资源\\test" #文件夹目录 , 注意这边一定需要用‘\’转义‘\’
files= os.listdir(path) #得到文件夹下的所有文件名称
txts = []
for file in files: #遍历文件夹
position = path+'\\'+ file #构造绝对路径,"\\",其中一个'\'为转义符
html =open (position,'r',encoding='utf-8').read()
html = etree.HTML(html)
name = str(html.xpath('//*[@id="render"]/h1/text()')).replace('"', '').replace('*', '').replace('[', '').replace(':', '').replace('\\', '').replace('/', '').replace('>', '').replace('<', '').replace('\n', '').replace(' ', '').replace(']', '').replace('\\n', '').replace(',','').replace('\'', '')
#name1 = str(html.xpath('//*[@id="render"]/h3/text()')).replace('"', '').replace('*', '').replace('[', '').replace(':', '').replace('\\', '').replace('/', '').replace('>', '').replace('<', '').replace('\n', '').replace(' ', '').replace(']', '').replace('\\n', '').replace(',','').replace('\'', '')
#name2 = str(html.xpath('//*[@id="render"]/h3/text()')).replace('"', '').replace('*', '').replace('[', '').replace(':', '').replace('\\', '').replace('/', '').replace('>', '').replace('<', '').replace('\n', '').replace(' ', '').replace(']', '').replace('\\n', '').replace(',','').replace('\'', '')
#这边之所以留了3个name是因为有时候name需要拼接。
position1 = path+'\\'+ name +".html"
os.renames(position,position1)