网络爬虫学习笔记

合集下载

网络爬虫学习笔记笔记

网络爬虫学习笔记笔记

Web Crawler A Review1.分类:通用爬虫、聚焦爬虫、分布式爬虫2.网络是一个有向图,所以搜索操作可以总结为对有向图的遍历。

爬虫通过web页面的图结构从一个页面到另一个页面。

3.Google具有较少的垃圾结果和公平的搜索结果两大优点,其来源于google的pagerank算法和锚点词权重。

4.爬虫技术:A,通用爬虫:从每一个网页尽可能多的找寻链接,去点速度慢占带宽。

B,聚焦爬虫:爬取某一主题的文件,节省带宽。

C分布式爬虫:多线程爬取。

5.现在爬虫都是同步进行的,有重载、质量和网络等问题。

6.Selberg, E. and Etzioni, O. On the instability of Web search engines. In Proceedings of RIAO ’00, 2000.Teevan, J., E. Adar, R. Jones, and M. A. Potts. Information reretrieval: repeat queries in Yahoo's logs. SIGIR ‘07, 151-158, 2007.这两篇主要研究识别结果动态改变。

K. S. Kim, K. Y. Kim, K. H. Lee, T. K. Kim, and W. S. Cho “Design and Implementation of Web Crawler Based on Dynamic Web Collection Cycle”, pp. 562-566, IEEE 2012动态web数据爬取技术包含对web变化的监视,动态获取网页。

Junghoo Cho and Hector Garcia-Molina “Parallel Crawlers”. Proceedings of the 11th international conference on World Wide Web WWW '02”, May 7–11, 2002, Honolulu, Hawaii, USA. ACM 1-58113-449-5/02/0005.高效的并行爬虫Alex Goh Kwang Leng, Ravi Kumar P, Ashutosh Kumar Singh and Rajendra Kumar Dash “PyBot: An Algorithm for Web Crawling”, IEEE 2011 广度优先搜素,会输出一个Excel CSV 形式的web架构,存储下来的网页与web结构用于排名,Rajashree Shettar, Dr. Shobha G, “Web Crawler On Client Machine”, Proceedings of the International MultiConference of Engineers and Computer Scientists 2008 V ol II IMECS 2008, 19-21 March, 2008, Hong Kong 异步多线程下载模块Eytan Adar, Jaime Teevan, Susan T. Dumais and Jonathan L. Elsas “The Web Changes Everything: Understanding the Dynamics of Web Content”, ACM 2009.对特征化网络变化提出更细微的分析。

小爬虫知识点总结归纳

小爬虫知识点总结归纳

小爬虫知识点总结归纳随着互联网的飞速发展,网络上的信息量呈现爆炸性增长。

想要获取大规模的网络数据,传统的手工采集方式显然已经无法满足需求。

而爬虫技术的出现,则为我们提供了一种高效、自动化地获取网络数据的方法。

爬虫,顾名思义,就是像蜘蛛一样在网络上“爬行”,获取网页上的各种信息。

通过爬虫技术,我们可以自动化地获取网页上的文本、图片、视频等数据,然后进行分析、处理,实现我们的数据需求。

在学习爬虫技术的过程中,有一些基本知识点是必须要掌握的。

下面,我将对小爬虫知识点进行总结归纳,希望能够帮助读者对爬虫技术有更加全面的了解。

1. HTTP协议HTTP(HyperText Transfer Protocol)是指超文本传输协议,是一个简单的请求-响应协议,它使得客户端和服务器之间可以进行通信。

在编写爬虫的过程中,要了解HTTP协议的基本工作原理,了解HTTP请求和响应的相关内容,这对于编写爬虫程序是非常重要的。

2. HTML基础HTML(Hyper Text Markup Language)是一种用于创建网站的标准标记语言。

在爬虫中,我们通常需要从网页中抽取信息,而了解HTML基础知识对于爬虫程序的开发是非常重要的。

包括HTML标签、属性、元素等基础知识,都是编写爬虫时必须要了解的内容。

3. 爬虫框架爬虫框架是指一种用于构建网络爬虫的软件工具。

目前比较流行的爬虫框架有Scrapy、Beautiful Soup、urllib等等。

掌握一种爬虫框架,可以大大提高爬虫程序的开发效率和功能完善度。

4. 数据解析在爬虫程序中,我们通常需要从网页中抽取特定的信息,比如文本、链接、图片等。

数据解析技术对于爬虫程序是非常重要的,包括正则表达式、XPath、CSS选择器等技术都是用于数据解析的常用工具。

5. 爬虫策略在进行爬虫程序开发时,我们需要考虑一些爬虫策略,比如爬虫速度控制、爬虫深度控制、反爬虫手段等等,这些都是编写高效、稳定的爬虫程序所必须要考虑的内容。

Python爬虫自学笔记(一)爬虫基础知识

Python爬虫自学笔记(一)爬虫基础知识

Python爬⾍⾃学笔记(⼀)爬⾍基础知识浏览器⼯作原理我们在浏览器的地址栏输⼊⽹址(URL,全称为Uniform Resource Locator,统⼀资源定位器)。

然后,浏览器向服务器传达了我们想访问某个⽹页的需求,这个过程就叫做【请求】。

紧接着,服务器把你想要的⽹站数据发送给浏览器,这个过程叫做【响应】。

当服务器把数据响应给浏览器之后,浏览器并不会直接把数据丢给你。

因为这些数据是⽤计算机的语⾔写的,浏览器还要把这些数据翻译成你能看得懂的样⼦,这是浏览器做的另⼀项⼯作【解析数据】。

紧接着,我们就可以在拿到的数据中,挑选出对我们有⽤的数据,这是【提取数据】。

最后,我们把这些有⽤的数据保存好,这是【存储数据】。

爬⾍⼯作原理其中,爬⾍可以帮我们代劳这个过程的其中⼏步:当你决定去访问某个⽹页后,⾸先,爬⾍可以模拟浏览器去向服务器发出请求;其次,等服务器响应后,爬⾍程序还可以代替浏览器帮我们解析数据;接着,爬⾍可以根据我们设定的规则批量提取相关数据,⽽不需要我们去⼿动提取;最后,爬⾍可以批量地把数据存储到本地。

这就是爬⾍做的事。

简化上图,就是爬⾍的⼯作原理了:所以总结⼀下,爬⾍的⼯作步骤有以下四步:第1步:获取数据。

爬⾍程序会根据我们提供的⽹址,向服务器发起请求,然后返回数据。

第2步:解析数据。

爬⾍程序会把服务器返回的数据解析成我们能读懂的格式。

第3步:提取数据。

爬⾍程序再从中提取出我们需要的数据。

第4步:储存数据。

爬⾍程序把这些有⽤的数据保存起来,便于你⽇后的使⽤和分析。

⽆论爬⾍程序写得多么复杂,万变不离其宗,爬⾍的基本⼯作原理和步骤就是这些。

HTML基础知识HTML是⽤来描述⽹页的⼀种语⾔,英⽂全称是Hyper Text Markup Language,也叫超⽂本标记语⾔。

<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body>⼈⽣苦短,我⽤Python</body></html>我们⽤上⾯这个最基本的⽹页,分析⼀下HTML的基本结构如下:HTML⽂档主要由元素组成。

爬虫作业感悟心得体会(3篇)

爬虫作业感悟心得体会(3篇)

第1篇随着互联网的飞速发展,信息已经成为现代社会不可或缺的一部分。

而在这浩瀚的信息海洋中,如何高效地获取和利用数据成为了许多领域的研究热点。

作为计算机科学中的一员,我有幸参与了一次爬虫作业,通过实践体验到了爬虫技术的魅力和挑战。

以下是我对这次爬虫作业的感悟和心得体会。

一、认识爬虫技术在开始爬虫作业之前,我对爬虫技术只有一知半解。

通过这次作业,我对爬虫有了更深入的认识。

爬虫,即网络爬虫,是一种自动抓取互联网信息的程序。

它模拟人类的网络行为,按照一定的规则遍历网页,从中提取所需数据。

爬虫技术广泛应用于搜索引擎、数据挖掘、舆情分析等领域。

二、作业过程1. 确定目标网站在开始爬虫作业之前,我们需要确定目标网站。

这次作业的目标网站是一个知名的新闻网站,旨在获取其最新新闻数据。

2. 分析网站结构为了更好地抓取数据,我们需要分析目标网站的结构。

通过观察网页源代码和浏览器开发者工具,我们了解了网站的URL规则、页面布局和数据存储方式。

3. 编写爬虫程序根据网站结构,我们选择了Python语言编写爬虫程序。

程序主要包括以下几个部分:(1)URL管理器:负责生成待爬取的URL列表,并按顺序分配给爬取器。

(2)爬取器:负责从目标网站获取网页内容,并提取所需数据。

(3)数据存储:将提取的数据存储到数据库或文件中。

4. 避免反爬虫策略在实际爬取过程中,我们发现目标网站采取了一些反爬虫策略,如IP封禁、验证码等。

为了顺利抓取数据,我们采取了以下措施:(1)使用代理IP:通过更换IP地址,降低被封禁的风险。

(2)设置合理的请求频率:避免短时间内大量请求导致IP被封禁。

(3)模拟浏览器行为:使用requests库模拟浏览器头部信息,提高爬取成功率。

三、感悟与心得1. 技术提升通过这次爬虫作业,我熟练掌握了Python语言和爬虫技术。

在编写程序过程中,我学会了如何分析网站结构、提取数据、存储数据等。

此外,我还学会了使用代理IP、设置请求频率等技巧,提高了爬取成功率。

爬虫涉及的知识点总结

爬虫涉及的知识点总结

爬虫涉及的知识点总结一、基础知识1.1 爬虫的概念爬虫是一种自动获取网站信息的程序,通过模拟人的行为来访问网页并获取其中包含的数据。

爬虫通常会按照事先设置的规则来访问网页,获取所需的信息,并将其保存下来。

1.2 爬虫的分类爬虫可以分为通用爬虫和特定爬虫两种类型。

通用爬虫用于抓取整个网站的信息,而特定爬虫则用于抓取特定网站的信息。

1.3 爬虫的工作原理爬虫的工作原理主要包括对目标网站进行网页抓取、数据处理和数据存储三个步骤。

网页抓取是指爬虫程序对目标网站的网页进行访问并获取其中的数据,数据处理是指对获取的数据进行清洗和提取,数据存储是指将处理过的数据保存到数据库或文件中。

1.4 HTTP协议的基本知识爬虫程序通过HTTP协议来与网站进行通信,因此需要了解HTTP协议的基本知识,包括请求方法、状态码、报文格式等内容。

二、网页抓取2.1 URL的解析爬虫程序需要解析目标网页的URL,获取其中的主机名、路径、查询字符串等信息,以便进行相应的访问。

2.2 HTTP请求和响应爬虫程序需要模拟浏览器发送HTTP请求来获取网页数据,并解析HTTP响应来提取所需的信息。

2.3 页面解析爬虫程序需要对获取的网页进行解析,提取其中的文本、链接、图片等信息,通常使用正则表达式、HTML解析库或XPath来进行页面解析。

2.4 网页去重爬虫程序需要对已经抓取过的网页进行去重处理,避免重复抓取相同的网页。

三、数据处理3.1 数据清洗爬虫程序获取的网页数据通常包含大量的噪音和无用信息,需要进行数据清洗来去除无用的标签、空格、换行符等内容。

3.2 数据提取爬虫程序需要从网页数据中提取所需的信息,通常使用正则表达式、XPath或HTML解析库来提取数据。

3.3 数据存储爬虫程序需要将抓取和处理后的数据保存到数据库或文件中,以便后续的分析和使用。

四、反爬虫与隐私保护4.1 反爬虫机制网站通常会采取一些措施来阻止爬虫程序访问和抓取网页数据,如设置robots.txt文件、使用验证码、限制访问频率等,爬虫程序需要相应的措施来应对这些反爬虫机制。

网络爬虫期末总结

网络爬虫期末总结

网络爬虫期末总结一、引言网络爬虫作为一种自动化获取互联网上信息的工具,在我们日常的生活和工作中发挥着重要的作用。

本文将以我在学习网络爬虫课程期间所学到的知识和经验为基础,对网络爬虫的原理、应用和挑战进行总结和分析。

二、网络爬虫原理1.1 数据采集和处理网络爬虫的基本原理是通过一个自动化程序来从互联网上收集信息,并将这些信息存储和处理。

爬虫首先通过访问网站的URL来获取网页的html源代码,然后解析该源代码,提取出所需的数据,并将数据存储到数据库或文件中。

1.2 网络通信和URL管理网络爬虫需要使用HTTP协议来与服务器进行通信,通过发送HTTP请求获取服务器响应的数据。

爬虫还需要管理待爬取的URL列表,以便定期或主动地发起请求获取新的数据。

这可以通过维护一个URL队列或使用URL调度算法来实现。

1.3 数据解析和提取爬虫解析网页源代码的主要方法有两种:基于正则表达式和基于DOM树。

正则表达式可以通过匹配目标数据的模式来提取数据,但其对于复杂的HTML结构和嵌套标签的处理非常困难。

而基于DOM树的解析则可以通过构造DOM树并遍历节点来定位和提取数据。

1.4 反爬机制的应对为了防止恶意爬虫对网站的影响,许多网站会采取反爬虫机制,如IP封禁、验证码和请求频率限制等。

爬虫需要采取一些策略来应对这些机制,如使用代理IP来隐藏真实的请求源,使用机器学习算法来识别验证码,或者设置请求间隔时间来规避频率限制。

三、网络爬虫应用2.1 数据采集和分析网络爬虫广泛应用于各种类型的数据采集和分析工作。

比如,利用爬虫可以从各大新闻网站抓取新闻标题和正文,并进行文本分析和情感分析;从社交媒体平台获取用户信息和发帖内容,用于推荐系统的个性化推荐;通过爬取电商网站的商品信息来进行价格比较和竞争对手分析等。

2.2 搜索引擎优化搜索引擎是互联网上最常用的信息检索工具,而网络爬虫是搜索引擎的核心功能之一。

搜索引擎利用爬虫从互联网上抓取和索引网页,然后通过搜索算法对这些网页进行排序和展示。

爬虫实验报告心得简短

爬虫实验报告心得简短

爬虫实验报告心得简短前言在进行本次爬虫实验之前,我对爬虫技术有一定的了解,但对具体实现和应用还存在一些困惑。

通过本次实验,我对爬虫技术有了更深入的理解,并学习到了一些实用的技巧和注意事项。

实验过程实验准备在实验开始前,我首先对需要爬取的网站进行了分析。

我观察了目标网站的网页结构和URL规律,并思考了如何设计程序来提取所需数据。

我还研究了一些相关的库和工具,如Python的Requests库和Beautiful Soup库。

实验步骤1. 构建HTTP请求:在这一步中,我使用Requests库发送GET请求,获取目标网页的HTML源代码。

2. 解析HTML数据:利用Beautiful Soup库,我解析了HTML源代码,提取了目标数据。

3. 数据存储:我选择将爬取到的数据存储到CSV文件中,方便日后分析使用。

实验结果在进行实验过程中,我遇到了一些挑战和问题。

其中包括:1. 网络流量和速度限制:为了防止对目标网站造成负担,我限制了每次请求的间隔时间,并在程序中处理了可能出现的错误和异常。

2. 频繁更改网站结构:有些网站会不断更改其网页结构,这会导致之前编写的爬虫程序无法正常运行。

所以,我需要时常观察目标网站的变化,并及时调整爬虫程序。

经过不断的尝试和调试,我成功地完成了爬虫任务,并获得了所需的数据。

我将数据保存为CSV文件,便于后续的数据分析和处理。

心得体会通过本次实验,我对爬虫技术有了更深入的了解,并学到了许多有用的技巧和方法。

以下是我在实验过程中的一些心得体会:1. 网页分析和数据提取是爬虫的关键步骤。

在进行爬取之前,需要仔细观察目标网页的结构、URL规律和数据存储方式,以便编写相应的爬虫程序。

2. 理解HTML和CSS基础知识对于解析网页非常重要。

了解标签、类名、属性等的含义,可以帮助我们更快地定位和提取目标数据。

3. 爬虫程序的可靠性和稳定性是关键。

在编写程序时,要考虑到各种异常情况和错误处理,并进行相应的监控和调试。

爬虫知识点汇总

爬虫知识点汇总

爬虫知识点汇总1. 什么是爬虫?爬虫是一种自动化程序,用于从互联网上获取数据。

它能够模拟人类浏览网页的行为,获取网页内容并提取所需的数据。

2. 爬虫的工作原理爬虫的工作原理可以分为以下几个步骤:•发送HTTP请求:爬虫通过发送HTTP请求来获取网页的内容。

它可以使用第三方库例如requests来发送GET或POST请求。

•获取网页内容:一旦发送了HTTP请求,爬虫将会从服务器接收到网页内容。

它可以通过解析服务器返回的HTML内容来获取所需的数据。

•解析HTML:爬虫将会使用HTML解析器来解析HTML内容,并提取所需的数据。

常用的HTML解析库有BeautifulSoup和lxml。

•数据处理和存储:一旦数据被提取出来,爬虫可以对数据进行处理和存储。

它可以将数据保存到本地文件或数据库中。

3. 常用的爬虫库以下是一些常用的爬虫库:•requests:用于发送HTTP请求和获取网页内容。

•BeautifulSoup:用于解析HTML内容。

•scrapy:一个功能强大的爬虫框架,提供了更高级的爬虫功能和结构化数据提取能力。

•selenium:一个自动化测试工具,也可以用于网页爬虫,特别适用于需要模拟用户交互的情况。

4. 爬虫的常见应用场景爬虫在许多领域有着广泛的应用,以下是一些常见的应用场景:•网络数据采集:爬虫可以用于从网页上采集数据,例如抓取新闻、商品信息等。

•数据分析和挖掘:通过爬虫可以获取大量的数据,并进行分析和挖掘,以获取有价值的信息。

•SEO优化:爬虫可以用于分析竞争对手的网站,并帮助优化自己的网站以提高搜索引擎排名。

•舆情监测:爬虫可以用于监测社交媒体、论坛等平台上的舆情动态,以帮助企业做出及时的决策。

5. 爬虫的道德和法律问题在使用爬虫时,需要注意以下道德和法律问题:•知识产权:爬虫不应该用于侵犯他人的知识产权,例如未经授权地抓取他人网站的内容。

•隐私保护:爬虫不应该用于获取个人隐私信息,例如用户的账号密码等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络爬虫学习笔记你知道百度、Google 是如何获取数以亿计的网页并且实时更新的吗?你知道在搜索引擎领域人们常说的Spider 是什么吗?本文章只限帮助读者快速入门,不到之处,敬请谅解。

既然百度、Google 这些搜索引擎巨头已经帮我们抓取了互联网上的大部分信息,为什么还要自己写爬虫呢?因为深入整合信息的需求是广泛存在的。

在企业中,爬虫抓取下来的信息可以作为数据仓库多维展现的数据源,也可以作为数据挖掘的来源。

甚至有人为了炒股,专门抓取股票信息。

既然从美国中情局到普通老百姓都需要,那还等什么,让我们快开始吧。

学习前准备:eclipse软件,Java语言学习,后续学习准备:Linux操作系统,基本Linux操作指令,hadoop集群,Linux版eclipse 参考资料:虾皮博客园1.了解URL网络爬虫的基本操作是抓取网页,本文将从URL 开始讲起,然后告诉大家如何抓取网页。

抓取网页的过程其实和读者平时使用 IE浏览器浏览网页的道理是一样的。

比如,你打开一个浏览器,输入猎兔搜索网站的地址,如图“打开”网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。

更进一步,可以通过浏览器端查看“抓取”过来的文件源代码。

选择“查看” |“源文件”命令,就会出现从服务器上“抓取”下来的文件的源代码,如图在上面的例子中,我们在浏览器的地址栏中输入的字符串叫做 URL。

那么,什么是 URL呢?直观地讲, URL就是在浏览器端输入的 这个字符串。

下面我们深入介绍有关 URL的知识。

在理解 URL之前,首先要理解 URI的概念。

什么是 URI?Web上每种可用的资源,如HTML文档、图像、视频片段、程序等都由一个通用资源标志符(Universal ResourceIdentifier,URI)进行定位。

URI通常由三部分组成:①访问资源的命名机制;②存放资源的主机名;③资源自身的名称,由路径表示。

如下面的URI:/html/html40/我们可以这样解释它:这是一个可以通过HTTP协议访问的资源,位于主机上,通过路径“ /html/html40”访问。

URL是 URI的一个子集。

它是 Uniform Resource Locator的缩写,译为“统一资源定位符”。

通俗地说, URL是 Internet上描述信息资源的字符串,主要用在各种 WWW客户程序和服务器程序上,特别是著名的 Mosaic。

采用 URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URL的格式由三部分组成:第一部分是协议 (或称为服务方式 )。

第二部分是存有该资源的主机 IP地址 (有时也包括端口号 )。

第三部分是主机资源的具体地址,如目录和文件名等。

第一部分和第二部分用“ ://”符号隔开,第二部分和第三部分用“ /”符号隔开。

第一部分和第二部分是不可缺少的,第三部分有时可以省略。

2.通过指定的URL抓取网页内容所谓网页抓取,就是把 URL地址中指定的网络资源从网络流中读取出来,保存到本地。

类似于使用程序模拟 IE浏览器的功能,把 URL作为 HTTP请求的内容发送到服务器端,然后读取服务器端的响应资源。

Java语言是为网络而生的编程语言,它把网络资源看成是一种文件,它对网络资源的访问和对本地文件的访问一样方便。

它把请求和响应封装为流。

因此我们可以根据相应内容,获得响应流,之后从流中按字节读取数据。

例如, .URL类可以对相应的 Web服务器发出请求并且获得响应文档。

.URL类有一个默认的构造函数,使用 URL地址作为参数,构造 URL对象:URL pageURL = new URL(path);接着,可以通过获得的URL对象来取得网络流,进而像操作本地文件一样来操作网络资源:InputStream stream = pageURL.openStream();在实际的项目中,网络环境比较复杂,因此,只用 包中的 API来模拟IE客户端的工作,代码量非常大。

需要处理 HTTP返回的状态码,设置 HTTP代理,处理 HTTPS 协议等工作。

为了便于应用程序的开发,实际开发时常常使用Apache的 HTTP客户端开源项目—— HttpClient。

它完全能够处理HTTP连接中的各种问题,使用起来非常方便。

只需在项目中引入 HttpClient.jar包,就可以模拟 IE来获取网页内容。

例如://创建一个客户端,类似于打开一个浏览器HttpClient httpclient=new HttpClient();//创建一个 get方法,类似于在浏览器地址栏中输入一个地址GetMethod getMethod=new GetMethod("");//回车,获得响应状态码int statusCode=httpclient.executeMethod(getMethod);//查看命中情况,可以获得的东西还有很多,比如head、cookies等System.out.println("response=" + getMethod.getResponseBodyAsString());//释放getMethod.releaseConnection();上面的示例代码是使用HttpClient进行请求与响应的例子。

第一行表示创建一个客户端,相当于打开浏览器。

第二行使用 get方式对 进行请求。

第三行执行请求,获取响应状态。

第四行的 getMethod.getResponseBodyAsString()方法能够以字符串方式获取返回的内容。

这也是网页抓取所需要的内容。

在这个示例中,只是简单地把返回的内容打印出来,而在实际项目中,通常需要把返回的内容写入本地文件并保存。

最后还要关闭网络连接,以免造成资源消耗。

这个例子是用 get方式来访问 Web资源。

通常, get请求方式把需要传递给服务器的参数作为 URL的一部分传递给服务器。

但是, HTTP协议本身对 URL字符串长度有所限制。

因此不能传递过多的参数给服务器。

为了避免这种问题,通常情况下,采用 post方法进行HTTP请求, HttpClient包对 post方法也有很好的支持。

例如://得到 post方法PostMethod PostMethod = new PostMethod("/postme");//使用数组来传递参数NameValuePair[] postData = new NameValuePair[2];//设置参数postData[0] = new NameValuePair("武器", "枪");postData[1] = new NameValuePair("什么枪", "神枪");postMethod.addParameters(postData);//回车,获得响应状态码intstatusCode=httpclient.executeMethod(getMethod);//查看命中情况,可以获得的东西还有很多,比如head、cookies等System.out.println("response=" + getMethod.getResponseBodyAsString());//释放getMethod.releaseConnection();上面的例子说明了如何使用post方法来访问 Web资源。

与 get方法不同, post方法可以使用NameValuePair来设置参数,因此可以设置“无限”多的参数。

而get方法采用把参数写在 URL里面的方式,由于 URL有长度限制,因此传递参数的长度会有限制。

下面是一段完整的小爬虫代码,URL为南通濠滨论坛的网址"/。

import java.io.*;import mons.httpclient.*;import mons.httpclient.methods.GetMethod;import mons.httpclient.params.HttpMethodParams;public class test {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubHttpClient httpClient = new HttpClient();GetMethod getMethod = new GetMethod("/");getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler());try {int statusCode = httpClient.executeMethod(getMethod);if (statusCode != HttpStatus.SC_OK) {System.err.println("Method failed: "+ getMethod.getStatusLine());}byte[] responseBody = getMethod.getResponseBody();System.out.println(new String(responseBody));} catch (HttpException e) {System.out.println("Please check your provided http address!");e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {getMethod.releaseConnection();}}}程序运行的部分结果如下:<div class="slideshow"><a href="/thread-2087756-1-1.html" target="_blank"><img src="/block/99/99a22e886b1b33917bf99ad15b27061e.jpg" width="235" height="150" /></a><ahref="/thread-2086782-1-1.html" target="_blank"><img src="/block/0c/0c6c86ba7102c998642667905ad2fde9.jpg" width="235" height="150" /></a><ahref="/thread-2086037-1-1.html" target="_blank"><imgsrc="/forum/201309/03/1238160f8pip9fpit9y94z.png"width="235" height="150" /></a><ahref="/thread-2086196-1-1.html" target="_blank"><imgsrc="/block/56/56648faf44dca99e1b7976dbea841858.jpg" width="235" height="150" /></a><ahref="/thread-2084942-1-1.html" target="_blank"><imgsrc="/block/d0/d069c606392f8195207187d27775c956.jpg" width="235" height="150" /></a></div>3.处理Html代码从上面的例子可以看出,爬虫爬去页面的返回值多种多样,读者可参照HttpClient API 帮助文档自行根据需要选取。

相关文档
最新文档