使用Httpclient实现网页的爬取并保存至本地

程序功能实现了爬取网页页面并且将结果保存到本地,通过以爬取页面出发,做一个小的爬虫,分析出有利于自己的信息,做定制化的处理。

其中需要的http*的jar文件,可以在网上自行下载

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

public class CrawlPage {
    private static String filePath = "F:\\01_Code\\01_Eclipse\\AnalogLogin\\crawData\\";
    private static String url = "http://www.huxiu.com/";
    private static void saveToLocal(InputStream in, String filePath, String filename) throws IOException {
        File file = new File(filePath);
        if(!file.exists())
            file.mkdirs();
        DataOutputStream out = new DataOutputStream(new FileOutputStream(
                new File(filePath + filename)));
        int result;
        while((result=in.read())!=-1){
            out.write(result);
        }
        out.flush();
        out.close();
    }

    public static void crawlPage() throws IOException {
         DefaultHttpClient client = new DefaultHttpClient();
         HttpGet get = new HttpGet(url);
         HttpResponse response = client.execute(get);
         HttpEntity entity = response.getEntity();
         InputStream in = entity.getContent();
         String fileName = "crawlPage.html";
         //保存到本地
         saveToLocal(in, filePath + url.substring(5) + "\\", fileName);
    }

    public static void main(String[] args) throws IOException {
        crawlPage();
    }
}
时间: 2024-08-02 07:01:18

使用Httpclient实现网页的爬取并保存至本地的相关文章

Python编写网页爬虫爬取oj上的代码信息

OJ升级,代码可能会丢失. 所以要事先备份. 一开始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启发和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 python2.7版本, 试了一下修改到3.0版本, 要做很多包的更替,感觉比较烦,所以索性就在这个2.7版本上完善了. 首先观赏一下原始代码,我给加了一些注释: # -*- coding: cp936 -*- import urllib2 import urllib import re import

requests实例4:图片的爬取与保存

requests实例4:图片的爬取与保存 代码框架: 1 # coding=gbk 2 import requests 3 import os 4 url = "http://image.nationalgeographic.com.cn/2017/0211/20170211061910157.jpg" 5 root = "D://pics//" 6 path = root + url.split('/')[-1] 7 try: 8 if not os.path.e

使用apache httpClient 通过get方式爬取网页,简易类操作。

我是从官网下载的最新版本,windows操作系统选zip版本就行了. 在网上搜的一些资料,感觉提供的类有点旧了.新下载的包没有相关类,用法也不对.对了,我下载的版本是4.3.6. 所以只能自己搜索资料摸索,在下载的包中有相应的guide指导,还有一些现成的例子. 我自己写了一个简单的例子: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.In

使用HttpClient+Json解析器爬取数据并存入数据库

一.题目要求 说明:这里我只展示爬取数据的代码,将可视化结果与统计数据结合,实时显示当前最新数据只需将这篇博客代码和我那篇使用Echarts可视化数据库数据结合即可 二.思路 同学思路:我的大部分同学思路是使用HttpClient+Jsoup获取并解析目标页面的数据,然后调用Dao层中的方法将数据筛选并存入数据库中 我的思路:我直接使用了一个网上的一个最新疫情数据Json的目标网页,然后使用HttpClient获取该Json格式数据,然后使用Json解析器将 数据分离,然后调用Dao层中的方法将

python requests 简单网页文本爬取

爬取网页: http://www.cnblogs.com/xrq730/archive/2018/06/11/9159586.html 抓取的是一个博客的文本内容 用requeusts获取整个网页的HTML信息: 使用Beautiful Soup解析HTML信息 1 import requests 2 from bs4 import BeautifulSoup 3 4 5 if __name__=='__main__': 6 target='http://www.cnblogs.com/xrq7

Python网络爬虫技巧小总结,静态、动态网页轻松爬取数据

很多人学用python,用得最多的还是各类爬虫脚本:有写过抓代理本机验证的脚本,有写过自动收邮件的脚本,还有写过简单的验证码识别的脚本,那么我们今天就来总结下python爬虫抓站的一些实用技巧. 静态网页 对于静态网页的爬虫不用多说大家也都知道,因为爬取静态网页非常的简单,只要用requests直接把html爬取下来然后用正则表达式匹配就可以了. 动态网页 相对于静态网页的简单,但是动态网页的就会相对而而言会复杂一下,而且现在互联网的发展速度,动态网页是最多的,静态网页是比较少的,不过他有张良计

爬虫学习(七)——带cookie的网页进行爬取

# 前提:# # 通常,很多网站需要登录才能进行浏览,所以在爬取这些网站时,也需要进行登录,并拿取登录时的cookie# # 登录网页,服务器会给客户端一个牌子cookie# # 访问登录页面时,带着牌子进行请求才能返回响应# # 登录界面的爬取 # 做法: # 找到牌子,带着牌子进行请求 # cookie有的在请求头里 # 如下是在登录后的页面中找到请求头里的cookie,然后进行请求,访问其含登陆信息的页面 import urllib.requestimport urllib.parse #

requests实例2:亚马逊网站商品网页的爬取

这个网页具备检测爬虫和浏览器访问的功能. 因此为了成功爬取该网页,我们需要伪装requests的headers(把爬虫伪装成一个浏览器) 代码如下: 1 import requests 2 url = "http://www.amazon.cn/gp/product/B01M8L5Z3Y" 3 try: 4 kv = {'user-agent':'Mozilla/5.0'} 5 r = requests.get(url, headers=kv) 6 r.raise_for_status

爬虫实例(二):多线程,多进程对网页的爬取

采用多线程对韩寒的微博进行爬取,这个只是不需要进行模拟登陆的: 1 #--coding:utf-8--- 2 #!/usr/bin/env python 3 import urllib 4 import os 5 import re 6 import time 7 from threading import Thread 8 from multiprocessing import Process 9 10 def downloadURL(urls,dirpath): 11 ##在之前中分装一个l