精华内容
下载资源
问答
  • 怎么把一个完整的网页的源文件,包括源代码和所有源图片下载到本地。用的是QQ浏览器和win10上的浏览器?
  • 详见下文:那么如果我们除了获得页面源代码之外 还想页面保存到本地存成html应该怎么做呢?其实很简单 我们先来看访问页面获取content的代码private static String getUrlContent(DefaultHttpClient httpPostClient...

    我们在前面讲到httpclient抓取网页内容的时候 通常都是获取到页面的源代码content存入数据库。

    详见下文:

    那么如果我们除了获得页面源代码之外 还想把页面保存到本地存成html应该怎么做呢?

    其实很简单 我们先来看访问页面获取content的代码

    private static String getUrlContent(DefaultHttpClient httpPostClient,

    String urlString) throws IOException, ClientProtocolException {

    HttpGet httpGet = new HttpGet(urlString);

    HttpResponse httpGetResponse = httpPostClient.execute(httpGet);// 其中HttpGet是HttpUriRequst的子类

    httpPostClient.getParams().setParameter(

    CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);// 连接时间20s

    httpPostClient.getParams().setParameter(

    CoreConnectionPNames.SO_TIMEOUT, 8000);// 数据传输时间60s

    if (httpGetResponse.getStatusLine().getStatusCode() == 200) {

    HttpEntity httpEntity = httpGetResponse.getEntity();

    if (httpEntity.getContentEncoding() != null) {

    if ("gzip".equalsIgnoreCase(httpEntity.getContentEncoding()

    .getValue())) {

    httpEntity = new GzipDecompressingEntity(httpEntity);

    } else if ("deflate".equalsIgnoreCase(httpEntity

    .getContentEncoding().getValue())) {

    httpEntity = new DeflateDecompressingEntity(httpEntity);

    }

    }

    String result = enCodetoString(httpEntity, encode);// 取出应答字符串

    // System.out.println(result);

    return result;

    }

    return "";

    }

    public static String enCodetoStringDo(final HttpEntity entity,

    Charset defaultCharset) throws IOException, ParseException {

    if (entity == null) {

    throw new IllegalArgumentException("HTTP entity may not be null");

    }

    InputStream instream = entity.getContent();

    if (instream == null) {

    return null;

    }

    try {

    if (entity.getContentLength() > Integer.MAX_VALUE) {

    throw new IllegalArgumentException(

    "HTTP entity too large to be buffered in memory");

    }

    int i = (int) entity.getContentLength();

    if (i < 0) {

    i = 4096;

    }

    Charset charset = null;

    try {

    // ContentType contentType = ContentType.get(entity);

    // if (contentType != null) {

    // charset = contentType.getCharset();

    // }

    } catch (final UnsupportedCharsetException ex) {

    throw new UnsupportedEncodingException(ex.getMessage());

    }

    if (charset == null) {

    charset = defaultCharset;

    }

    if (charset == null) {

    charset = HTTP.DEF_CONTENT_CHARSET;

    }

    Reader reader = new InputStreamReader(instream, charset);

    CharArrayBuffer buffer = new CharArrayBuffer(i);

    char[] tmp = new char[1024];

    int l;

    while ((l = reader.read(tmp)) != -1) {

    buffer.append(tmp, 0, l);

    }

    return buffer.toString();

    } finally {

    instream.close();

    }

    }

    我们得到content之后就可以直接 把它存成本地文件 就 可以了。

    我们可以参考

    把txt后缀改成html即可

    publicstaticvoidwriteToFile(String fileName, String content) {

    String time = DATE_FORMAT.format(Calendar.getInstance().getTime());

    File dirFile = null;

    try{

    dirFile = newFile("e:\\"+ time);

    if(!(dirFile.exists()) && !(dirFile.isDirectory())) {

    booleancreadok = dirFile.mkdirs();

    if(creadok) {

    System.out.println(" ok:创建文件夹成功! ");

    } else{

    System.out.println(" err:创建文件夹失败! ");

    }

    }

    } catch(Exception e) {

    e.printStackTrace();

    }

    String fullPath = dirFile + "/"+ fileName +".txt";

    write(fullPath, content);

    }

    /**

    * 写文件

    *

    * @param path

    * @param content

    */

    publicstaticbooleanwrite(String path, String content) {

    String s = newString();

    String s1 = newString();

    BufferedWriter output = null;

    try{

    File f = newFile(path);

    if(f.exists()) {

    } else{

    System.out.println("文件不存在,正在创建...");

    if(f.createNewFile()) {

    System.out.println("文件创建成功!");

    } else{

    System.out.println("文件创建失败!");

    }

    }

    BufferedReader input = newBufferedReader(newFileReader(f));

    while((s = input.readLine()) !=null) {

    s1 += s + "\n";

    }

    System.out.println("原文件内容:"+ s1);

    input.close();

    s1 += content;

    output = newBufferedWriter(newFileWriter(f));

    output.write(s1);

    output.flush();

    returntrue;

    } catch(Exception e) {

    e.printStackTrace();

    returnfalse;

    } finally{

    if(output !=null) {

    try{

    output.close();

    } catch(IOException e) {

    e.printStackTrace();

    }

    }

    }

    }

    展开全文
  • 我是这样想的,先从网页中获取验证码,然后再验证码发打码平台,再将获取的结果和自动生成的注册名和密码一起post出去?但是验证码每次都在变化,它的地址后面每次刷新都会有串不同的数字,我也不知道什么意思...
  • 记录一下自己在用hexo搭建自己博客的过程正文: 这篇文章主要是讲述静态博客的搭建过程,之前都是用wordpress搭建自己博客的,直到无意间看到有可以免费在...本地环境搭建1.node.js下载安装:点击这里 2.git for w...

    记录一下自己在用hexo搭建自己博客的过程

    正文:

    这篇文章主要是讲述静态博客的搭建过程,之前都是用wordpress搭建自己博客的,直到无意间看到有可以免费在github上搭建自己博客的博文,才知道,原来静态博客也可以那么优雅漂亮。但是呢,鉴于github感人的访问速度,所以选择了国内大厂平台(手动滑稽),不多BB,教程开始.

    本地环境搭建

    1.node.js

    下载安装:点击这里

    2.git for windows(国内镜像)

    下载安装:点击这里

    全局安装 hexo

    npm install hexo -g

    建立博客目录

    找一个自己认为合适的位置,来建立博客的本地目录(最好是不要用中文)

    1.初始化

    hexo init

    2.安装依赖包

    npm install

    3.安装hexo-deployer-git插件

    npm install hexo-deployer-git --save

    4.生成静态网站

    hexo generate (hexo g 这样也可以)

    5.本地启动

    hexo serve (hexo s)

    浏览器输入: http://localhost:4000

    在本地目录下看到的文档结构如下:

    e97d43e55d3b4da852dde4798ccb160b.png

    注册腾讯云开发者平台帐号

    个人设置验证邮箱用户名

    • 假设用户:demo
    • 假设邮箱:demo@qq.com

    创建项目

    项目名为 blog

    配置SSH

    1.生成SSH

    ssh-keygen -t rsa -C "demo@qq.com"

    这里的 demo@qq.com 就是你个人中心验证成功的那个邮箱。

    2.复制公钥内容到账户信息中

    3.公钥目录:C:甥敳獲demo.sshid_rsa.pub (当然,这是我的路径,具体情况,在生成公钥的时候会有相关提示)

    4.打开id_rsa.pub文件,复制里面的内容

    5.进入腾讯云开发者平台

    6.进入你创建的blog项目

    7.左侧列表,找到设置-->部署公钥-->新建公钥-->粘贴刚才复制的公钥内容

    PS:读写权限勾选上也是可以的.

    测试SSH是否配置成功

    ssh -T git@github.com

    如果显示以下,则说明ssh配置成功。

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.

    修改配置文件

    打开Hexo博客目录下的站点配置文件_config.yml,修改部署配置:

    deploy: type: git repo: coding: git@git.dev.tencent.com:demo/blog.git,master #腾讯云开发者平台

    注意: 注意在yml文件中,: 后面都是要带空格的。

    部署本地文件到远程仓库(blog)

    1.在本地目录下

    hexo deploy (hexo d)

    2.开启Pages服务

    在左侧导航栏,找到代码-->Pages服务-->同意协议-->一键开启

    3.预览线上网站

    Pages服务开启成功后,页面会显示访问地址.

    4.自定义域名

    • 进入Pages服务页面
    • 点击右上角的设置按钮(齿轮图标)
    • 绑定新域名

    根据提示去设置自己的域名解析

    写一篇文章进行测试

    在本地的hexo目录,打开git bash

    hexo new 测试文章

    紧接着会输出本地文章的创建位置,找到这个文件

    ---title: 测试文章date: 2019-09-20 20:48:20tags:---

    title表示文章标题,date创建时间,tags表示文章所属标签

    可以给文章贴上相应的tags,如有多个则按照如下格式

    [tag1, tag2, tag3, ...]

    内容区域,输入:

    这是一篇测试文章内容

    切换到命令行

     hexo d -g

    打开你的线上地址,查看是否新建成功.

    切换主题

    1.打开网站目录下 themes 文件夹

    cd themesgit clone https://github.com/iissnan/hexo-theme-next.git

    2.修改clone的文件夹名为next(便于记忆)

    3.修改网站根目录下的_config.yml文件,找到theme,修改为next

    # Extensions## Plugins: http://hexo.io/plugins/## Themes: http://hexo.io/themes/theme: next

    4.验证本地网站是否更换为next主题

    hexo s

    hexo源码同步到同一个仓库

    直接上命令行

    git initgit remote add origin git@git.dev.tencent.com:demo/blog.gitgit add .git commit -m "first commit"

    接下来注意

    git push origin master:hexo

    打开线上仓库,查看分支hexo是否创建成功,查看源码是否上传成功

    后续

    以后,本地写好博文之后

    git add .git commit -m 'fix'git push origin master:hexo

    备份完成之后,更新博文.

    hexo d -g

    有什么地方不明白在下方评论或者私信都可以.


    全文完

    展开全文
  • 不过有一些办法可以解决这个问题:1,手动CSV文件下载到本机,然后用Python定位文件位置;2,写Python程序下载文件,读取之后再源文件删除;3,从网上直接文件读成一个字符串,然后转换成一个StringIO对象,使...

    python的标准库csv库主要是面向本地文件,就是说你的CSV文件得存储在你的电脑上。当进行网络数据采集的时候,很多文件都是在线的。不过有一些办法可以解决这个问题:

    1,手动把CSV文件下载到本机,然后用Python定位文件位置;

    2,写Python程序下载文件,读取之后再把源文件删除;

    3,从网上直接把文件读成一个字符串,然后转换成一个StringIO对象,使它具有文件的属性。

    虽然前两个方法也可以用,但是既然你可以轻易地把CSV文件保存在内存里,就不要再下载到本地占硬盘空间了。直接把文件读成字符串,然后封装成StringIO对象,让Python把它当做文件来处理,就不需要先保存文件了。下面的程序就是从网上获取一个CSV文件,然后把每一行都打印到命令行里:

    [python] view plain copy

    from io import StringIO

    import csv

    data = urlopen('httles/MontyPythonAlbums.csv').read().decode('ascii', 'ignore')

    dataFile = StringIO(data)

    csvReader = csv.reader(dataFile)

    for row in csvReader:

    print row

    展开全文
  • 我们在前面讲到httpclient抓取网页内容的时候 通常都是获取到页面的源...那么如果我们除了获得页面源代码之外 还想页面保存到本地存成html应该怎么做呢? 其实很简单 我们先来看访问页面获取content的代码 private


    我们在前面讲到httpclient抓取网页内容的时候 通常都是获取到页面的源代码content存入数据库。

    详见下文:

    HTTPClient模块的HttpGet和HttpPost

    httpclient常用基本抓取类

    那么如果我们除了获得页面源代码之外 还想把页面保存到本地存成html应该怎么做呢?


    其实很简单 我们先来看访问页面获取content的代码

    	private static String getUrlContent(DefaultHttpClient httpPostClient,
    			String urlString) throws IOException, ClientProtocolException {
    		HttpGet httpGet = new HttpGet(urlString);
    		HttpResponse httpGetResponse = httpPostClient.execute(httpGet);// 其中HttpGet是HttpUriRequst的子类
    		httpPostClient.getParams().setParameter(
    				CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);// 连接时间20s
    		httpPostClient.getParams().setParameter(
    				CoreConnectionPNames.SO_TIMEOUT, 8000);// 数据传输时间60s
    		if (httpGetResponse.getStatusLine().getStatusCode() == 200) {
    			HttpEntity httpEntity = httpGetResponse.getEntity();
    			if (httpEntity.getContentEncoding() != null) {
    				if ("gzip".equalsIgnoreCase(httpEntity.getContentEncoding()
    						.getValue())) {
    					httpEntity = new GzipDecompressingEntity(httpEntity);
    				} else if ("deflate".equalsIgnoreCase(httpEntity
    						.getContentEncoding().getValue())) {
    					httpEntity = new DeflateDecompressingEntity(httpEntity);
    				}
    			}
    			String result = enCodetoString(httpEntity, encode);// 取出应答字符串
    			// System.out.println(result);
    			return result;
    		}
    		return "";
    	}

    	public static String enCodetoStringDo(final HttpEntity entity,
    			Charset defaultCharset) throws IOException, ParseException {
    		if (entity == null) {
    			throw new IllegalArgumentException("HTTP entity may not be null");
    		}
    		InputStream instream = entity.getContent();
    		if (instream == null) {
    			return null;
    		}
    		try {
    			if (entity.getContentLength() > Integer.MAX_VALUE) {
    				throw new IllegalArgumentException(
    						"HTTP entity too large to be buffered in memory");
    			}
    			int i = (int) entity.getContentLength();
    			if (i < 0) {
    				i = 4096;
    			}
    			Charset charset = null;
    			try {
    				// ContentType contentType = ContentType.get(entity);
    				// if (contentType != null) {
    				// charset = contentType.getCharset();
    				// }
    			} catch (final UnsupportedCharsetException ex) {
    				throw new UnsupportedEncodingException(ex.getMessage());
    			}
    			if (charset == null) {
    				charset = defaultCharset;
    			}
    			if (charset == null) {
    				charset = HTTP.DEF_CONTENT_CHARSET;
    			}
    			Reader reader = new InputStreamReader(instream, charset);
    			CharArrayBuffer buffer = new CharArrayBuffer(i);
    			char[] tmp = new char[1024];
    			int l;
    			while ((l = reader.read(tmp)) != -1) {
    				buffer.append(tmp, 0, l);
    			}
    			return buffer.toString();
    		} finally {
    			instream.close();
    		}
    	}

    我们得到content之后就可以直接 把它存成本地文件 就 可以了。

    我们可以参考

     

    java读写txt


    把txt后缀改成html即可

    1. public static void writeToFile(String fileName, String content) {  
    2.         String time = DATE_FORMAT.format(Calendar.getInstance().getTime());  
    3.           
    4.         File dirFile = null;  
    5.         try {  
    6.             dirFile = new File("e:\\" + time);  
    7.             if (!(dirFile.exists()) && !(dirFile.isDirectory())) {  
    8.                 boolean creadok = dirFile.mkdirs();  
    9.                 if (creadok) {  
    10.                     System.out.println(" ok:创建文件夹成功! ");  
    11.                 } else {  
    12.                     System.out.println(" err:创建文件夹失败! ");  
    13.                 }  
    14.             }  
    15.         } catch (Exception e) {  
    16.             e.printStackTrace();  
    17.         }  
    18.         String fullPath = dirFile + "/" + fileName + ".txt";  
    19.         write(fullPath, content);  
    20.     }  
    21.   
    22.     /** 
    23.      * 写文件 
    24.      *  
    25.      * @param path 
    26.      * @param content 
    27.      */  
    28.     public static boolean write(String path, String content) {  
    29.         String s = new String();  
    30.         String s1 = new String();  
    31.         BufferedWriter output = null;  
    32.         try {  
    33.             File f = new File(path);  
    34.             if (f.exists()) {  
    35.             } else {  
    36.                 System.out.println("文件不存在,正在创建...");  
    37.                 if (f.createNewFile()) {  
    38.                     System.out.println("文件创建成功!");  
    39.                 } else {  
    40.                     System.out.println("文件创建失败!");  
    41.                 }  
    42.             }  
    43.             BufferedReader input = new BufferedReader(new FileReader(f));  
    44.             while ((s = input.readLine()) != null) {  
    45.                 s1 += s + "\n";  
    46.             }  
    47.             System.out.println("原文件内容:" + s1);  
    48.             input.close();  
    49.             s1 += content;  
    50.             output = new BufferedWriter(new FileWriter(f));  
    51.             output.write(s1);  
    52.             output.flush();  
    53.             return true;  
    54.         } catch (Exception e) {  
    55.             e.printStackTrace();  
    56.             return false;  
    57.         } finally {  
    58.             if (output != null) {  
    59.                 try {  
    60.                     output.close();  
    61.                 } catch (IOException e) {  
    62.                     e.printStackTrace();  
    63.                 }  
    64.             }  
    65.         }  
    66.     }  



    展开全文
  • 服务器对于网站的重要性...1、备份网站在替换新服务器之前,网站管理员应该首先将所有数据从旧服务器下载到本地数据库进行备份和打包。如果你不知道如何下载,你可以向主机运营商寻求帮助!站长们需要保证...
  • 举个例子,我做了个Winform游戏,能不能它放在网页上运行?跟Flash那样。如果用Asp.net做,会导致不断刷新页面。怎么可以让用户一次性下载完这个游戏,然后在浏览器...是不是Flash游戏先下载到本地,然后再运行的?
  • 360游览器,IE,,,支持系统:win获取方式:添加小编微信「XiaoBian08021314」注意大小写分享转发群免费获取软件介绍很多时候我们想把网页中的视频下载到本地,却无奈没有很好的方法。尤其是自己花大...
  • 详见下文:HTTPClient模块的HttpGet和HttpPosthttpclient常用基本抓取类那么如果我们除了获得页面源代码之外 还想页面保存到本地存成html应该怎么做呢?其实很简单 我们先来看访问页面获取content的代码private ...
  • 资源下载的尴尬时刻有时候人在天朝确实好难下载到墙外的资源...想说可不可以通过服务器(前提你得有个服务器)下载到资源,再资源用FTP下载到本地电脑,嗯可行,百度下,该文详述了服务器指令wget的详细用法(http://...
  • 网页下载了验证码图片,保存到本地目录。怎么将该验证码本地路径变成网络URL 再URL传给前台,让网页可以显示该验证码图片
  • 所以最安全也最可靠的方式是网站镜像下载,也就是所谓的 网站dowm下来,保存在本地,但是查看时也有诸多不便,因为 每次又要找到主页(index),并且文件比较分散,不好管理而且 不美观。 所以本文教你怎么...
  • 用Java的IO流从网上下载一个视频原理:就是用URL对象与目标地址建立一个链接,用IO流的方式从这个链接上视频的二进制数据读取下载然后再写入本地文件。因为小弟比较菜的缘故,不会下载那些加了密的视频链接,这里...
  • 用Java的IO流从网上下载一个视频原理:就是用URL对象与目标地址建立一个链接,用IO流的方式从这个链接上视频的二进制数据读取下载然后再写入本地文件。因为小弟比较菜的缘故,不会下载那些加了密的视频链接,这里...
  • 在html4的年代,我们如果要在网页上呈现一张用户本地的图片,需要用户先图片上传服务器,再根据服务器提供的图片地址图片下载下来,才能图片在网页上呈现出来。这一来二往,起码已经费了两倍于这张图片的...
  • Maven构建服务器 这是我的构建页面的后端存储... 它将提交的时间戳与本地存储的存储库进行比较。 如果远程版本较新或者甚至没有本地版本,则我们正在计算新的内部版本ID。 之后,它将继续执行步骤2。 2.克隆 确定存储
  • 一般我们实现下载功能时,很多时候都是通过后端返回的链接从服务器上文件下载到本地,但当后端返回给我们的是一个Blob文件流时,我们应该怎么做?(1) axios方式(推荐)axios({method:'get',url:url,responseType:'...
  • 我们时常看到网页上的东西,想整个网页下载下来,但却不知道该怎么弄,是不? 网文快捕就可以帮我们捕捉网页上的东西,然后你可以保存到本地,做成电子书,很不错的一个软件哦!!!
  • 阿里云服务器安装xampp部署网站 1. 前言 我在自己Windows上搭建了...这里看你怎么弄了,可以本地下载然后传服务器,也可以wget直接下载。 3. 安装xampp 因为服务器没有图形界面,直接用终端装: chmod 777 *.run ch
  • 用正则表达式抓取网页图片

    千次阅读 2018-03-16 13:31:57
    某个网页源码手动保存到本地一个文本文件;(暂时,以后想想怎么更加智能化)2.利用正则表达式匹配html中的img 标签,并从分组中提取出链接并存为list;3.下载图片到制定文件夹。import reimport ioimport ...
  • 前言本篇博客要实现的是一个离线下载...所以离线下载这个功能是”在有网络的情况下,资源下载到本地“,离线阅读就是”在没有网络或者网络不好的时候,阅读本地好缓存的文章资源“。这样就很清楚我们要的这两个具...
  • 怎么使用iconfont

    2019-07-21 20:56:00
    3.下载以后,解压文件,打开css文件,内容粘贴需要用图标的的css文件里面 4.在网页上复制代码,粘贴替换 5.使用的时候,通过class选择器,引入iconfont,还有icon-back样式(这就是你要用的...
  • Discuz网页斗地主插件

    2013-05-05 20:16:26
    答:下donetfx2.0.exe安装上就行了,里面有个快捷方式-》打开无法运行请下载安装donetfx2.0,点击就能下载了 斗地主升级专业版要多少钱? 答:本软件没有专业版,付费版本与免费版本功能完全相同,唯一区别是最大...
  • 到官方下载到本地,解压到y0umer目录,进行安装。 可是发现怎么也安装不上,setup-config.php文件白屏 这不就悲剧了么,百度搜索了很久都没有答案。只好自己动手了。 首先确定配置文件是不是显示错误的选择...
  • 将DOClever的源码down到本地,在命令行下运行node DOClever的根目录/Server/bin/www(如果是windows环境下,请修改目录分隔符),第一次启动,会出现命令行提示符,按照提示符输入即可完成相关的配置,等到DOClever...
  • 使用FLASHFXP下载网页到本地,并备份一份以防万一,使用记事本打开网页的源代码。 找到网页源代码的head部分,并在head部分插入下面这句代码,注意href里的地址是你存放ico图标的地址,根据你网站上存放的位置来写...
  • 3.找到自己喜欢的图标,然后鼠标放在那个图标上,会显示添加到项目还是直接下载到本地,如果需要添加多个图片,本人建议使用添加到项目,本博文就以添加到项目为例。 4.新建项目然后所选择的图标添加进去。 ...
  • 可是APP的保存到本地是带水印的,自己心心念念想要留下来的视频,当然是不希望下载的视频有抖音的水印,所以可以看到网上有很多去水印的APP,网站,还有小程序!那么他们是怎么做到去除水印的呢?其实也是很简单。 ...

空空如也

空空如也

1 2 3 4
收藏数 74
精华内容 29
关键字:

怎么把网页下载到本地