python爬虫之公共情报搜集

322 阅读2分钟

经常会有很多小伙伴问,学会了python能干什么呢?那肯定很多的呀,首先是能找份不错的工作。其次你可以用它来干很多事,比如爬图片、找漏洞、找子域名、爬数据,收集情报等等。而且提取出来的数据格式非常整洁。

为什么能用来做情报搜集呢?我们今天就重点来了解下,比如我们随便提取一个网站的 URL,它会在当前目录下产生一个你测试的域名的文件夹,这里不仅仅是只有网站页面,连 CDN 文件地址都会放在这里,所以可能会发现是一个宝藏哦。很多类似项目的价值,不仅在于能够快速拉取你想要得到的数据,还在于能够构建一个很牛的情报系统(如果你技术够强的话)。因为它是能不断延伸下去的,比如从外链出发,你能找到很多和这个网站相关的讯息。例如我们可以简单的获取一些新媒体网站的数据

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://s.weibo.com/");

        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();
        }
    }
}
HttpClient4.x
JSoup
JSoup全局代理
Connection
Htmlunit
Okhttp

我们想下,相比于搜索引擎搜索的结果,实际上通过爬虫获取到的信息更符合是不是更符合情报的要求。而且不是所有的信息都能在搜索引擎搜索得到,而通过python爬虫,你可以顺藤摸瓜找到那些隐藏在互联网世界的它们。

试想一下,如果你搜集了很多这样的网站...然后搭建一个属于你自己的搜索引擎,这样的感觉是不是很棒?