jsoup爬取某网站安全数据

package com.vfsd.net;

import java.io.IOException;
import java.sql.SQLException;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import com.vfsd.dao.ManageMySQL;

/**
 * Servlet implementation class GetURL13
 */
@WebServlet("/GetURL13")
public class GetURL13 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public GetURL13() {
        super();
        // TODO Auto-generated constructor stub
    }
    private String message;

    @Override
    public void init() throws ServletException {
        message = "Hello world, this message is from servlet!";
        System.out.println("------"+message);
        try {
            ManageMySQL.getConnection();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //response.getWriter().append("Served at: ").append(request.getContextPath());
        String agent1 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36";

        int pageNum=1;
        int pageSize=10;
        //for(pageNum=1;pageNum<101;pageNum++)
        for(pageNum=1;pageNum<924;pageNum++)
        {
            try {
                int page1= (pageNum-1)*pageSize;
                Map<Integer,String> map1 = ManageMySQL.getNewsLinkInTable(page1,pageSize,"data_bjszfhcxjswyh");
                for(Integer key : map1.keySet())
                {
                    System.out.println(key+"  "+map1.get(key));
                    String news_link = map1.get(key);
                    String context1="";
                    String source1="";
                    String publishDate = "";
                    //String context1 = getContentByURL(news_link).replace(" ", "");

                    if(!news_link.contains("void"))
                    {
                        if(news_link.endsWith("html"))
                        {
                            Document documentRoot = Jsoup.connect(news_link).userAgent(agent1).get();
                            Elements elements2 = documentRoot.select("#content_list");
                            //Elements elements2_1 = documentRoot.select("div.div_right");
                            if(elements2.size()==1)
                            {
                                Element div_ele = elements2.get(0);
                                context1 = div_ele.text();
                                ManageMySQL.updateContextAndPublishDate2(key, context1.replace("‘", "").replace("\"", ""),source1,publishDate,"data_bjszfhcxjswyh");
                            }

                        }

                    }

                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

原文地址:https://www.cnblogs.com/herd/p/11784128.html

时间: 2024-10-09 09:27:36

jsoup爬取某网站安全数据的相关文章

java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决

问题描述: 在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass("class的值"),这种方法获取不到想要的数据. 爬取网站页面结构如下: 其中文章列表的div为:<div class="am-cf inner_li inner_li_abtest"></div> 我们可以看到其class的值为:am-cf inner_li inner_li_abtest.带空格的

python爬取某个网站的图片并保存到本地

python爬取某个网站的图片并保存到本地 #coding:utf-8 import urllib import re import sys reload(sys) sys.setdefaultencoding('gb2312') #获取整个页面的数据 def getHtml (url): page = urllib.urlopen(url) html = page.read() return html #保存图片到本地 def getImg(html): reg = r'src="(.+?\.

python实现数据爬取-清洗-持久化存储-数据平台可视化

基于python对淘宝模特个人信息进行筛选爬取,数据清洗,持久化写入mysql数据库.使用django对数据库中的数据信息筛选并生成可视化报表进行分析. 数据爬取,筛选,存库: # -*- coding:utf-8 -*-   import requests from bs4 import BeautifulSoup import sys import re reload(sys) sys.setdefaultencoding('utf-8') import MySQLdb import cha

webmagic爬取渲染网站

最近突然得知之后的工作有很多数据采集的任务,有朋友推荐webmagic这个项目,就上手玩了下.发现这个爬虫项目还是挺好用,爬取静态网站几乎不用自己写什么代码(当然是小型爬虫了~~|).好了,废话少说,以此随笔记录一下渲染网页的爬取过程首先找到一个js渲染的网站,这里直接拿了学习文档里面给的一个网址,http://angularjs.cn/ 打开网页是这样的 查看源码是这样的 源码这么少,不用说肯定是渲染出来的了,随便搜了一条记录,果然源码里面找不到结果 那就开始解析网址了,从浏览器开发者工具里面

python爬虫实例详细介绍之爬取大众点评的数据

python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python能够帮助我们实现越来越多的功能.本文主要介绍如何利用python进行网站数据的抓取工作.我看到过利用c++和Java进行爬虫的代码,c++的代码很复杂,而且可读性.可理解性较低,不易上手,一般是那些高手用来写着玩加深对c++的理解的,这条路目前对我们不通.Java的可读性还可以,就是代码冗余比较多,

使用selenium + Chrome爬取某网站乌云公开漏洞文章并保存为pdf文件

目的:使用selenium + Chrome爬取某网站指定类型的乌云公开漏洞文章,即在win10终端输入漏洞类型(如未授权),则爬取所有该类型的漏洞文章,并把每个分页的数字作为文件夹名,来保存该分页下面的所有的漏洞文章. 总结:本例只是能简单的爬取某一类型漏洞的所有文章,但不能爬取多个类型漏洞的所有文章,有时可能会有一些小bug导致没爬取完就崩溃,需要手工修改进而重新爬.其它问题解决看注释. 关于python代码里面出现中文在windows里面的处理,还没完全掌握.可参考Python for W

爬虫爬取全国历史天气数据

一段很简单的爬虫程序,爬取的网站为http://www.tianqihoubao.com,可以自己修改爬取城市以及爬取的月份,这里爬取的是1到7月的数据 from bs4 import BeautifulSoup import requests import pymysql import warnings # import pinyin # from pinyin import PinYin from pypinyin import pinyin, lazy_pinyin import pypi

Python爬取链家二手房数据——重庆地区

最近在学习数据分析的相关知识,打算找一份数据做训练,于是就打算用Python爬取链家在重庆地区的二手房数据. 链家的页面如下: 爬取代码如下: import requests, json, time from bs4 import BeautifulSoup import re, csv def parse_one_page(url): headers={ 'user-agent':'Mozilla/5.0' } r = requests.get(url, headers=headers) so

爬虫黑科技,我是怎么爬取indeed的职位数据的

最近在学习nodejs爬虫技术,学了request模块,所以想着写一个自己的爬虫项目,研究了半天,最后选定indeed作为目标网站,通过爬取indeed的职位数据,然后开发一个自己的职位搜索引擎,目前已经上线了,虽然功能还是比较简单,但还是贴一下网址job search engine,证明一下这个爬虫项目是有用的.下面就来讲讲整个爬虫的思路. 确定入口页面 众所周知,爬虫是需要入口页面的,通过入口页面,不断的爬取链接,最后爬取完整个网站.在这个第一步的时候,就遇到了困难,一般来说都是选取首页和列