分享如何使用java写个小爬虫

小白学大数据
• 阅读 578

爬虫行业的兴起是大数据时代下必须的产物,大家学习阿爬虫肯定是为了爬取有价值的数据信息。关于爬虫的基础知识我们这里不进行阐述,今天我们就只是进行一个简单的爬虫实践。那首先我们就需要确定下我们的目标网站,这里我们就以一些房产信息的网站为例统计一些信息。 关于爬虫中的一系列反爬问题我们也不在这里做深入的了解,都是学习爬虫的必备知识,最简单的就是在访问过程中我们肯定会遇到网站封ip,那么这时我们就需要加入代理ip来进行伪装了。之前不管是公司业务还是私人业务都使用的是亿牛云代理,一时也想不到哪家比较好所以就直接在文章中使用了他们代理,接下来我们展示一下访问网站的一段程序,因为我的爬虫程序一直都是使用的是java写的,所以文章中所示的demo也是有java完成的。 import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.methods.GetMethod;

import java.io.IOException;

public class Main { # 代理服务器(产品官网 www.16yun.cn) private static final String PROXY_HOST = "t.16yun.cn"; private static final int PROXY_PORT = 31111;

public static void main(String[] args) {
    HttpClient client = new HttpClient();
    HttpMethod method = new GetMethod("https://httpbin.org/ip");

    HostConfiguration config = client.getHostConfiguration();
    config.setProxy(PROXY_HOST, PROXY_PORT);

    client.getParams().setAuthenticationPreemptive(true);

    String username = "16ABCCKJ";
    String password = "712323";
    Credentials credentials = new UsernamePasswordCredentials(username, password);
    AuthScope authScope = new AuthScope(PROXY_HOST, PROXY_PORT);

    client.getState().setProxyCredentials(authScope, credentials);

    try {
        client.executeMethod(method);

        if (method.getStatusCode() == HttpStatus.SC_OK) {
            String response = method.getResponseBodyAsString();
            System.out.println("Response = " + response);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        method.releaseConnection();
    }
}

}

这只是分享的一小段爬虫代理,拿到数了我们还要进行一些其他的工作,数据的分析,过滤等,最终才是我们想要的数据。下次分享下关于数据的分析还有过滤。还有就是不同的语言写的程序多少是有差别的,如果需要其他语言关于使用代理的可以去亿牛云官网详细了解下www.16yun.cn。

点赞
收藏
评论区
推荐文章
Irene181 Irene181
3年前
3000字 “婴儿级” 爬虫图文教学 | 手把手教你用Python爬取 “实习网”!
1\.为"你"而写这篇文章,是专门为那些"刚学习"Python爬虫的朋友,而专门准备的文章。希望你看过这篇文章后,能够清晰的知道整个"爬虫流程"。从而能够"独立自主"的去完成,某个简单网站的数据爬取。好了,咱们就开始整个“爬虫教学”之旅吧!2\.页面分析①你要爬取的网站是什么?首先,我们应该清楚你要爬去的网站是什么?由于这里我们想要
菜鸟阿都 菜鸟阿都
3年前
创建免费ip代理池
     反爬技术越来越成熟,为了爬取目标数据,必须对爬虫的请求进行伪装,骗过目标系统,目标系统通过判断请求的访问频次或请求参数将疑似爬虫的ip进行封禁,要求进行安全验证,通过python的第三方库faker可以随机生成header伪装请求头,并且减缓爬虫的爬取速度,能很好的避过多数目标系统的反扒机制,但对一些安全等级
python如何通过分布式爬虫爬取舆情数据
作为爬虫,有时候会经历过需要爬取站点多吗,数据量大的网站,我们身边接触最频繁、同时也是最大的爬虫莫过于几大搜索引擎。今天我们来聊一个同样是站点多数据量的爬取方向,那就是舆情方向的爬虫。舆情简单来说就是舆论情况,要掌握舆情,那么就必须掌握足够多的内容资讯。除
把帆帆喂饱 把帆帆喂饱
3年前
爬虫
爬虫什么是爬虫使用编程语言所编写的一个用于爬取web或app数据的应用程序怎么爬取数据1.找到要爬取的目标网站、发起请求2.分析URL是如何变化的和提取有用的URL3.提取有用的数据爬虫数据能随便爬取吗?遵守robots.txt协议爬虫的分类通用网络爬虫百度,Google等搜索引擎,从一些初识的URL扩展到整个网站,主要为门户站点搜索引擎和大型网站服务采
python使用aiohttp通过设置代理爬取基金数据
说到python爬虫,我们就会想到它那强大的库,很多新手小白在选择框架的时候都会想到使用Scrapy,但是仅仅停留在会使用的阶段。在实际爬虫过程中遇到反爬机制是再常见不过的,今天为了增加对爬虫机制的理解,我们就通过手动实现多线程的爬虫过程,同时引入IP代理
Stella981 Stella981
3年前
Nginx反爬虫: 禁止某些User Agent抓取网站
一、概述网站反爬虫的原因不遵守规范的爬虫会影响网站的正常使用网站上的数据是公司的重要资产爬虫对网站的爬取会造成网站统计数据的污染常见反爬虫手段1\.根据IP访问频率封禁IP2\.设置账号登陆时长,账号访问过多封禁设置账号的登录限制,只有登录才能展现内容
网站反爬之封IP应对措施
作为爬虫工作者爬取数据是基本的技能,在日常获取数据的过程中遇到网站反爬也是家常事,网站的反爬方式有很多,今天我们重点来分析下封IP的行为。这种情况下大家都是很简单的使用代理IP就解决了,但是网上ip代理有很多家,到底选哪家好呢?这里推荐口碑很好的亿牛云
爬虫代理IP是什么?为什么需要它?
爬虫代理IP是什么?为什么需要它?爬虫代理IP是指使用其他计算机的网络地址来访问目标网站的一种技术。它可以隐藏爬虫程序的真实IP地址,避免被网站识别和封禁12。在进行网络数据采集时,我们经常会遇到一些反爬措施,比如网站限制同一个IP地址的访问频率、次数或时
如何应对亚马逊反爬机制
大家都知道亚马逊是全球最大的购物平台很多商品信息、用户评价等等都是最丰富的。但是对于爬虫来说,亚马逊的反爬机制应该也是数一数二的,想要获取亚马逊数据的人很多,但是真的能成功的确是少数,所以今天小编就手把手带大家,越过亚马逊的各种反爬机制爬取你想要的商品、评论等等有用信息。这里我们可以通过以下一些步骤去实现亚马逊数据的获取。一、使用requests的get请求
安居客房源信息获取
最近身边有几个做房产销售的朋友经常在诉苦,找不到客户,没有业绩,所以就比较好奇他们现在的行情,所以今天我们就使用python获取下安居客的一些房源数据。之前分享过很多关于爬虫的实践示例,今天这个也算是实践内容。我们就以户型结构、装修情况、水肥情况进行房源数据获取。爬取数据的通用流程:1、根据url请求页面,获取页面响应对象2、将页面响应对象转化为对象3、定
小白学大数据
小白学大数据
Lv1
男 · 亿牛云 · python技术
宁为代码类弯腰,不为bug点提交!
文章
89
粉丝
5
获赞
18