网络爬虫

headsman headsman     2023-02-18     139

关键词:

 

 

一、概述:

(一)依赖:获取数据

Httpclient:是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。

HttpClient 提供的主要功能是:

(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)

(2)支持自动转向

(3)支持 HTTPS 协议

(4)支持代理服务器等

添加依赖:

技术分享图片

(二)基本步骤

//1.  创建httpclient对象

CloseableHttpClient client = HttpClients.createDefault();

// 2. 声明httpGet请求对象

HttpGet httpGet = new HttpGet("http://quote.cfi.cn/quote.aspx?contenttype=yjyg&stockid=5");

 

//3.  使用httpclient发起请求方法execute,获取response响应结果

CloseableHttpResponse response = client.execute(httpGet);

//4. 判断响应的状态码是否是200

if (response.getStatusLine().getStatusCode() == 200)

// 5. 如果是200,获取响应的数据

String html = EntityUtils.toString(response.getEntity(), "utf-8");

// 6. 处理数据

System.out.println(html);

//7. 关闭response、httpclient对象。

二、HTTP 的方法

(一)get方法

GET方法主要用来取得某网页内容的html代码。

1. 获取参数的url内容

(上例)

2. 获取url有参数的网页内容

方法:

技术分享图片

3. 防止爬虫的网站访问

有些网站不希望爬虫工具访问,一般是通过获取用户代理信息来进行判断。

用爬虫工具获取这些网站的数据,只需要将用户代理提供给服务器就可以了。

 技术分享图片

二、处理方法

如果用字符串处理,就有点麻烦。因为首先要进行定位,再分析内容,比较麻烦。

Jsoup工具就是用来处理网页信息,即解析页面。

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。功能是:

1. 从一个URL,文件或字符串中解析HTML;

2. 使用DOM或CSS选择器来查找、取出数据;

3. 可操作HTML元素、属性、文本;

jsoup是基于MIT协议发布的,可放心使用于商业项目。

(一)依赖

1. jsoup依赖:org.jsoup

2. 处理工具:org.apachecommons的commons-lang3(StringUtils),和commons-io(FileUtils)

第1是主要的,处理工具可选

(二)使用方法

将网页内容转化为dom对象,用dom进行处理

方法:

技术分享图片

技术分享图片

 

什么是爬虫-java网络爬虫系统性学习与实战

什么是爬虫-Java网络爬虫系统性学习与实战(2)文章目录我的简单理解维基百科的定义爬虫策略爬虫核心点爬虫的要素联系方式Java网络爬虫系统性学习与实战系列上一篇文章:纲要-Java网络爬虫系统性学习与实战(1)我的简单... 查看详情

爬虫基础知识

...的技术列表爬虫原理为什么用Python做爬虫爬虫的概念  网络爬虫又名网络蜘蛛、网络蚂蚁、网络机器人等,顾名思义,网络爬虫可理解为在网络上的爬虫,按照定的规则爬取有用信息并收录进数据库,该规则即... 查看详情

爬虫入门(代码片段)

爬虫简单的说网络爬虫(Webcrawler)也叫做网络铲(Webscraper)、网络蜘蛛(Webspider),其行为一般是先“爬”到对应的网页上,再把需要的信息“铲”下来。分类网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:... 查看详情

网络爬虫的几种常见类型

常见的优秀网络爬虫有一下几种类型:1.批量型网络爬虫:限制抓取的属性,包括抓取范围,特定目标,限制抓取时间,限制数量以及相知抓取页面,总之明显的特征就是受限,2.增量网络爬虫(通用爬虫):与前者相反,没有... 查看详情

网络爬虫,如何做到“盗亦有道”?

网络爬虫的实质,其实是从网络上“偷”数据。通过网络爬虫,我们可以采集到所需要的资源,但是同样,使用不当也可能会引发一些比较严重的问题。因此,在使用网络爬虫时,我们需要做到“盗亦有道”。网络爬虫主要分为... 查看详情

网络爬虫

通用爬虫框架图互联网上网页划分  查看详情

java爬虫---爬虫+基于接口的网络爬虫

爬虫+基于接口的网络爬虫     上一篇讲了【java爬虫】---爬虫+jsoup轻松爬博客,该方式有个很大的局限性,就是你通过jsoup爬虫只适合爬静态网页,所以只能爬当前页面的所有新闻。如果需要爬一个网站所有信... 查看详情

python网络爬虫学习手记——爬虫基础

1、爬虫基本概念网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。--------百度百科简单的说,爬虫就是获取目标网页源... 查看详情

网络爬虫1

网络爬虫,webcrawler(网页蜘蛛,网络机器人,网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序最简单的网络爬虫:读取页面中所有的邮箱importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava... 查看详情

网络爬虫的基本原理

1、网络爬虫原理网络爬虫指按照一定的规则(模拟人工登录网页的方式),自动抓取网络上的程序。简单的说,就是讲你上网所看到页面上的内容获取下来,并进行存储。网络爬虫的爬行策略分为深度优先和广度优先。如下图... 查看详情

网络爬虫

 网络爬虫       网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过... 查看详情

网络爬虫是什么?怎么学python爬虫(代码片段)

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的... 查看详情

第一课:网络爬虫准备

本课知识路线  Requests框架:自动爬取HTML页面与自动网络请求提交  robots.txt:网络爬虫排除标准  BeautifulSoup框架:解析HTML页面  Re框架:正则框架,提取页面关键信息  Scrapy框架:网络爬虫原理介绍,专业爬虫框架介... 查看详情

003python网络爬虫与信息提取网络爬虫的'盗亦有道'

[A]网络爬虫引发的问题    1.当前网络爬虫根据规模可分为三种:      1.小型规模,主要用于爬取网页,玩转网页,数据量小,并且对于爬取速度不敏感,这种爬虫可以直接通过Python提供的第三方库Requests即可实现 ... 查看详情

网络爬虫小案例_2017/3/10

今晚,了解了一下网络爬虫,那么什么是网络爬虫呢?网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常被称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本,已被广泛应用... 查看详情

开发网络爬虫应该如何选择爬虫框架?

有些人问,开发网络爬虫应该选择Nutch、Crawler4j、WebMagic、scrapy、WebCollector还是其它的?这里依照我的经验随便扯淡一下:上面说的爬虫,基本能够分3类:     1.分布式爬虫:Nutch     2.JAVA单机... 查看详情

[定向爬虫]网络爬虫实例2-淘宝定向爬虫

importrequestsimportreimporttime#获取html页面defgetHTMLText(url):try:r=requests.get(url,timeout=30)r.raise_for_status()r.encoding="utf-8"#可以节约时间returnr.textexcept:return""#对获取的每一个页面进行解析,ilt是结果的列表类型defpars 查看详情

网络爬虫基础一

爬虫的分类按使用场景:通用爬虫:指搜索引擎的爬虫聚焦爬虫:指针对特定网站的爬虫聚焦爬虫又可以分为大致3种:累积式爬虫:从开始到结束,一直不断爬取,过程中会进行去重操作;增量式爬虫:对已经下载的网页采取增量... 查看详情