基于Jsoup爬虫Demo
发布日期:2021-11-11 12:48:07
浏览次数:2
分类:技术文章
本文共 5316 字,大约阅读时间需要 17 分钟。
今天写了一个爬虫跟大家分享一下,该爬虫为简单爬虫,后续会跟大家分享难一些的爬虫,话不多说,直接上代码。如果有疑问,可以直接评论。。。。。
package com.analysis;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import com.dao.FriendLinkDao;public class SnatchSHUJUJU { public static Document getDocument (String url){ try { //5000是设置连接超时时间,单位ms return Jsoup.connect(url).timeout(5000).get(); } catch (IOException e) { e.printStackTrace(); } return null; } public static ListgetEveryOtherUrl(){ List urlList = new ArrayList<>(); String host = "http://www.shujuju.cn"; String url = "http://www.shujuju.cn/navigation/navigationPage"; Document document = getDocument(url); Elements elements1 = document.select("[class=more fr]"); Elements elements2 = elements1.select("a[href]"); for(Element element : elements2){ String string = host+element.attr("href"); urlList.add(string); } return urlList; } public static List
package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.HashSet;import java.util.Date;import java.util.Map;import java.util.Set;import com.util.ConnectUtil;public class FriendLinkDao { public Connection conn = ConnectUtil.getConn(); public Integer getChannelId(String channelName) { Integer id = -1; try { String sql = "SELECT id FROM t_zsff_friend_link_channel WHERE channel_name = ?"; PreparedStatement ptmt = conn.prepareStatement(sql); ptmt.setString(1, channelName); ResultSet rs = ptmt.executeQuery(); while (rs.next()) { id = rs.getInt("id"); } return id; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); return id; // 返回-1,数据库插入异常 } } public void insertChannelName(String channelName,Integer pid) { String sql = "INSERT INTO t_zsff_friend_link_channel (channel_name, pid) VALUES (?, ?)"; try { PreparedStatement ptmt = conn.prepareStatement(sql); ptmt.setObject(1, channelName); ptmt.setObject(2, pid); ptmt.executeUpdate(); } catch (Exception e) { e.printStackTrace();// TODO: handle exception } } public void insertFriendLink(Map map) { String sql = "INSERT INTO t_zsff_friend_link (name, channel_id, link_url, stat) VALUES (?, ?, ?, ?)"; try { PreparedStatement ptmt = conn.prepareStatement(sql); ptmt.setObject(1, map.get("name")); ptmt.setObject(2, map.get("channelId")); ptmt.setObject(3, map.get("linkUrl")); ptmt.setObject(4, map.get("stat")); ptmt.executeUpdate(); } catch (Exception e) { e.printStackTrace();// TODO: handle exception } }}
package com.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class ConnectUtil { private static Connection conn; public static Connection getConn() { try { //1.加载mysql连接到数据库jar包,数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //2.数据库所在位置以及要访问数据库的名字 String url = "jdbc:mysql://127.0.0.7:3306/test?characterEncoding=UTF-8"; //3.数据库的用户名,密码 String username = "root"; String password = "root"; //4.使用驱动管理器连接到数据库 conn = DriverManager.getConnection(url,username,password); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } public void setConn(Connection conn1) { conn = conn1; } }
org.jsoup jsoup 1.13.1
转载地址:https://blog.csdn.net/Carson073/article/details/83867414 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月17日 11时54分26秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
在分页状态下删除纪录的问题
2019-04-27
使用DataGrid动态绑定DropDownList
2019-04-27
DataGrid删除确认及Item颜色交替
2019-04-27
NetBeans配置Xdebug 远程调试PHP
2019-04-27
MediaWiki安装
2019-04-27
Squid安装
2019-04-27
如何查看当前Linux的版本
2019-04-27
Ubuntu安装Nginx
2019-04-27
Ubuntu 下安装thttpd Web服务器
2019-04-27
用thttpd做Web Server
2019-04-27
服务器端开发经验总结 Linux C语言
2019-04-27
将网站程序放在tmpfs下
2019-04-27
使用Nginx的proxy_cache缓存功能取代Squid
2019-04-27
nginx 反向代理,动静态请求分离,proxy_cache缓存及缓存清除
2019-04-27
nginx 的proxy_cache才是王道
2019-04-27
Nginx proxy_cache 使用示例
2019-04-27
Nginx源代码分析 - 日志处理
2019-04-27
使Apache实现gzip压缩
2019-04-27
Memcached在大型网站中应用
2019-04-27
Hadoop简要介绍
2019-04-27