最近看到网上介绍爬虫的文章,觉得很有趣,那么心动不如行动,晚上回来的时间刚好用来码代码啦~~

网络爬虫:按照一定的规则爬取网页上的信息,通常是爬取到一些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网络爬虫爬取百度页面相关推荐

  1. IT宅男利用Python网络爬虫抓取百度贴吧评论区图片和视频(实战篇)

    [一.项目背景] 百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片想下载呢?或者看到一段视频想进行下载呢? 今天,小编带大家通过搜索关键字来获取评论区的图片和视频. [二.项目 ...

  2. python爬取百度贴吧中的所有邮箱_使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号...

    原标题:使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号 不知道大家过年都是怎么过的,反正栏主是在家睡了一天,醒来的时候登QQ发现有人找我要一份贴吧爬虫的源代码,想起之前练手的时候写过一个抓 ...

  3. 网络爬虫爬取拉勾招聘网

    网络爬虫爬取拉勾招聘网 搭配好环境 复制以下代码 # -*- coding: utf-8 -*- """ Created on Mon Sep 7 21:44:39 20 ...

  4. Python:网络爬虫爬取某表情包网站

    Python:网络爬虫爬取某表情包网站 参考: 爬虫基础知识点汇总(html文件基础和4个常用库 超级详细长文预警) [爬虫教程]吐血整理,最详细的爬虫入门教程~ HTML的简单介绍 HTML的全称为 ...

  5. python如何爬虫网页数据-python网络爬虫爬取网页内容

    1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...

  6. [Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析

    更新:感谢评论中朋友的提醒,百度贴吧现在已经改成utf-8编码了吧,需要把代码中的decode('gbk')改成decode('utf-8'). 百度贴吧的爬虫制作和糗百的爬虫制作原理基本相同,都是通 ...

  7. 网络爬虫爬取淘宝页面商品信息

    网络爬虫爬取淘宝页面商品信息 最近在MOOC上看嵩老师的网络爬虫课程,按照老师的写法并不能进行爬取,遇到了一个问题,就是关于如何"绕开"淘宝登录界面,正确的爬取相关信息.通过百度找 ...

  8. Python网络爬虫爬取虎扑步行街爆照区话题

    Python网络爬虫爬取虎扑步行街爆照区话题 作者:郜科科 最近的任务挺多的,但是心情很烦躁,想做一些自己喜欢的东西,前些时候感觉Python爬虫很好玩,就自学了一下.本人比较喜欢逛街--虎扑步行街, ...

  9. python网络爬虫--爬取淘宝联盟

    互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前. 网络爬虫,也叫网络蜘蛛(W ...

最新文章

  1. 面向开发者的2018年AI趋势分析
  2. java ec_Java ECKey.setK方法代码示例
  3. 菜鸟教程python3-Python数据分析,学习路径拆解及资源推荐
  4. OpenGL与CUDA互操作方式总结
  5. python文件操作与路径
  6. --------------springMVC的开篇,以及底层执行流程,配置视图解析器,静态资源的访问,流程图,工作原理...
  7. java 多线程异常_java多线程执行异常
  8. FastJson 中 jsonArray 转换成 list 集合的方法
  9. C++ 整型所能表示的数据范围
  10. 用户界面和逻辑应该分离
  11. 查找包含特定值的数组的文档
  12. GX Works2 安装详细过程
  13. 中国全部城市的中心点坐标 json格式
  14. 哈理工oj 1006 River Hopscotch
  15. 点云数据集汇总整理(匠心之作,附官方下载地址)
  16. python行业中性_知乎
  17. 计算机键盘的认识,认识键盘和使用键盘的方法
  18. 入门了解开发板是做什么用的?
  19. 介绍两个简单好用的软件:paint 3D,FastStone Capture
  20. STM32夺命100问,你知道几个?

热门文章

  1. 动态规划------背包问题详解
  2. 学以致用——一键生成所有Excel图表类型 (Generate all Excel graphs with one click)
  3. uniapp返回上一页
  4. C#输出心形图案(一)
  5. 看完此文,妈妈还会担心你docker入不了门?
  6. java开发工程师面试题及答案
  7. 码分复用matlab仿真代码,频分复用时分复用系统MATLAB仿真.doc
  8. s23赛季服务器维护到什么时候,王者荣耀S22赛季什么时候结束 S23赛季开始时间...
  9. 李宏毅深度学习|Datawhale-7月 Task06 卷积神经网络
  10. 各种水果对人体的好处