java爬百度翻页_Java网络爬虫爬取百度页面
最近看到网上介绍爬虫的文章,觉得很有趣,那么心动不如行动,晚上回来的时间刚好用来码代码啦~~
网络爬虫:按照一定的规则爬取网页上的信息,通常是爬取到一些URL之后然后对这些URL放入队列在一次次的进行搜索,具体不知道是DFS还是BFS了,这里的算法我没咋研究,因为本次做的爬虫实例比较简单,实现一个Java小程序,用来爬取百度页面的LOGO。
事实上爬虫的作用远大于此,本次例子仅为入门参考使用。
首先我们分析下,本次实例爬取图片的过程无非就这么几步:
1.访问百度首页,获取到网页返回的信息;
2.拿到对我们有用的信息(这里就是网页的源代码或者说所有图片的URL)
3.访问所有图片的URL;
4.以流的形式存储至本地即可。
好了,有了以上几步,那么写一个简单的爬虫就很EASY了,下面是代码,代码中有注释哦。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Bug {
String url = "http://www.baidu.com";//待爬取的URL
//获取url页面的源码;
public String ClimbBug() throws IOException{
URL accessurl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) accessurl.openConnection();
conn.connect();//连接
InputStream is = null;
if(conn.getResponseCode()==200){//判断状态吗是否为200,正常的话获取返回信息
byte[] b=new byte[4096];
is = conn.getInputStream();
StringBuilder sb = new StringBuilder();
int len=0;
while((len=is.read(b))!=-1){
sb.append(new String(b,0,len,"UTF-8"));
}
return sb.toString();//返回百度页面源代码,这里跟网页上右键查看源代码的效果一致
}
return "Error";
}
//获取图片页面URL
public List regex() throws IOException{
System.out.println(new Bug().ClimbBug());
String regex = "src[\\s\\S]*?>";//匹配所有图片的URL
Listlist = new ArrayList();
Matcher p = Pattern.compile(regex).matcher(new Bug().ClimbBug());
while(p.find()){
list.add(p.group());
}//匹配到放入我们的URLlist
return list;
}
//下载图片到本地或者结合数据库做其他想做的操作;
public void download(List list) throws IOException{
InputStream is =null;
OutputStream os =null;
for (int i=0;i
我们把图片存储在本地磁盘的D://sgx文件夹下面,运行程序后,发现本地图片已经有了百度的LOGO,测试成功!
java爬百度翻页_Java网络爬虫爬取百度页面相关推荐
- IT宅男利用Python网络爬虫抓取百度贴吧评论区图片和视频(实战篇)
[一.项目背景] 百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片想下载呢?或者看到一段视频想进行下载呢? 今天,小编带大家通过搜索关键字来获取评论区的图片和视频. [二.项目 ...
- python爬取百度贴吧中的所有邮箱_使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号...
原标题:使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号 不知道大家过年都是怎么过的,反正栏主是在家睡了一天,醒来的时候登QQ发现有人找我要一份贴吧爬虫的源代码,想起之前练手的时候写过一个抓 ...
- 网络爬虫爬取拉勾招聘网
网络爬虫爬取拉勾招聘网 搭配好环境 复制以下代码 # -*- coding: utf-8 -*- """ Created on Mon Sep 7 21:44:39 20 ...
- Python:网络爬虫爬取某表情包网站
Python:网络爬虫爬取某表情包网站 参考: 爬虫基础知识点汇总(html文件基础和4个常用库 超级详细长文预警) [爬虫教程]吐血整理,最详细的爬虫入门教程~ HTML的简单介绍 HTML的全称为 ...
- python如何爬虫网页数据-python网络爬虫爬取网页内容
1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...
- [Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析
更新:感谢评论中朋友的提醒,百度贴吧现在已经改成utf-8编码了吧,需要把代码中的decode('gbk')改成decode('utf-8'). 百度贴吧的爬虫制作和糗百的爬虫制作原理基本相同,都是通 ...
- 网络爬虫爬取淘宝页面商品信息
网络爬虫爬取淘宝页面商品信息 最近在MOOC上看嵩老师的网络爬虫课程,按照老师的写法并不能进行爬取,遇到了一个问题,就是关于如何"绕开"淘宝登录界面,正确的爬取相关信息.通过百度找 ...
- Python网络爬虫爬取虎扑步行街爆照区话题
Python网络爬虫爬取虎扑步行街爆照区话题 作者:郜科科 最近的任务挺多的,但是心情很烦躁,想做一些自己喜欢的东西,前些时候感觉Python爬虫很好玩,就自学了一下.本人比较喜欢逛街--虎扑步行街, ...
- python网络爬虫--爬取淘宝联盟
互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前. 网络爬虫,也叫网络蜘蛛(W ...
最新文章
- 面向开发者的2018年AI趋势分析
- java ec_Java ECKey.setK方法代码示例
- 菜鸟教程python3-Python数据分析,学习路径拆解及资源推荐
- OpenGL与CUDA互操作方式总结
- python文件操作与路径
- --------------springMVC的开篇,以及底层执行流程,配置视图解析器,静态资源的访问,流程图,工作原理...
- java 多线程异常_java多线程执行异常
- FastJson 中 jsonArray 转换成 list 集合的方法
- C++ 整型所能表示的数据范围
- 用户界面和逻辑应该分离
- 查找包含特定值的数组的文档
- GX Works2 安装详细过程
- 中国全部城市的中心点坐标 json格式
- 哈理工oj 1006 River Hopscotch
- 点云数据集汇总整理(匠心之作,附官方下载地址)
- python行业中性_知乎
- 计算机键盘的认识,认识键盘和使用键盘的方法
- 入门了解开发板是做什么用的?
- 介绍两个简单好用的软件:paint 3D,FastStone Capture
- STM32夺命100问,你知道几个?
热门文章
- 动态规划------背包问题详解
- 学以致用——一键生成所有Excel图表类型 (Generate all Excel graphs with one click)
- uniapp返回上一页
- C#输出心形图案(一)
- 看完此文,妈妈还会担心你docker入不了门?
- java开发工程师面试题及答案
- 码分复用matlab仿真代码,频分复用时分复用系统MATLAB仿真.doc
- s23赛季服务器维护到什么时候,王者荣耀S22赛季什么时候结束 S23赛季开始时间...
- 李宏毅深度学习|Datawhale-7月 Task06 卷积神经网络
- 各种水果对人体的好处