`
baeiou
  • 浏览: 4349 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

我的java数据抓取经验

阅读更多
本人担任职友集的java工程师五年,其中抓取数据占主要的一部分,抓取的信息只要有两部分,职位和简历,其中职位的抓取量为日均插入量为30万,更新量为60万,抓取全国300多个人才网站。职友集(现在改名为跳哪网)现在是全国职位量最高的垂直搜索引擎。月均广告收入约20万左右。当然这是经过我们团队的努力。
    我们在职位抓取方面是下了很大的一番功夫,使我们的职位量无法被人超越,首先现在很多人才网站为人防止其它网站抓取它的信息,都在封IP,尤其是中华英才网,我们为了向我们的用户提供大而全的职位信息,时刻作出我们的努力。我们为了解决封IP的问题,我取采取了多代理的方式。充分而均衡的运用多IP,有效的解决了封IP的问题。除了封IP的问题外,有一些网站为了防止其它人抓取他的企业联系信息,把企业的联系信息如电话号码,邮箱等放在图片中,我们为了我们的用户,可谓是呕心沥血地解决问题。我们经过我们的长期研究,可以有效地读取图片中的文字信息。为我们的访客提供良好的信息体验。
    我们的抓取在提取网站信息方面是用正则表达式,而不是用其它的,这样是有我们的理由的,因为如果有带有浏览器性质的插件,这样会为整个抓取带来很多风险。
   首先,在解析脚本方面会存在不稳定因素,可能会令整个程序运行得很慢,很耗CPU资源。可能会因为某个脚本的运行不当而令整台服务器down机。而且用浏览器式插件。速度很慢,不能满足日常的抓取需求。所以我们放弃了用浏览器式插件。而改用javahttpURLConnection来抓取网页的html源代码,用正则表达式提取网页的特定内容。然而正则表达式用起来虽然很方更,但也存在一个比较重要的问题,如果一不小心有一条正则表达式写错了,会相当耗CPU资源,CPU的占用率会突然提升起来。而且会一直居高不下。我们为了能解决之个问题,我们修改了java.util.regex.Pattern类,一但正则表达式长期占用CPU资源高居不下,程序自动终止正则的匹配,并记录错误。方便查看那一条正则写错了。在抓取时有可能会遇到需要登录才能获取页面的情况。而且有时登录时需要输入验证码等情况,我在抓取方面,对ocr都有很深入的研究,大部分不太复习的验证码都可以通过编程方法破解。实现自动登录时通过提交通过提交通数,然后获得cookie,然后再通过这个cookie获得那些登录后才能看到的页面。
分享到:
评论

相关推荐

    java网页抓取数据

    最后,数据抓取后通常需要存储或进一步处理。你可以选择将数据保存到文件(如CSV或JSON),或者直接导入数据库。例如,使用CSVWriter: ```java CSVWriter writer = new CSVWriter(new FileWriter("output.csv")); ...

    Java网页抓取数据

    Java网页抓取数据是互联网开发中的一个重要技能,它允许开发者从网页中提取所需的信息,如新闻、产品数据或用户评论,以供进一步分析或利用。本主题主要涵盖以下几个关键知识点: 1. **网络请求库**:在Java中,...

    java抓取网站数据

    ### Java抓取网站数据知识点详解 #### 一、概述 在现代互联网开发中,抓取网站数据是一项重要的技能。无论是进行市场调研、竞品分析还是数据挖掘,掌握如何使用Java来抓取数据都是十分必要的。本篇文章将详细介绍...

    java抓取网页数据

    在"万方数据抓取"这个具体场景中,可能涉及到的是抓取学术数据库如万方的数据。万方数据库通常需要用户登录才能访问,因此我们的爬虫需要实现模拟登录功能。这通常包括将用户名和密码通过POST请求发送到登录页面,...

    Java抓取网页数据Demo

    在IT领域,网络数据抓取是一项重要的技能,特别是在大数据分析、搜索引擎优化和市场研究中。...通过深入理解和实践,你将能熟练地利用Java进行网页数据抓取,为你的项目或研究提供强大的数据支持。

    Java抓取https网页数据

    Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)

    java爬虫抓取城市数据

    java爬虫抓取城市数据,数据抓取后直接持久化到数据库当中。博客地址http://blog.csdn.net/qq_23994787/article/details/78107890 如果没有积分的话,在主页给博主发邮件获取。

    java网页数据抓取源代码

    java抓取网页数据,主要用于抓取手机号和身份证查询网站的数据。

    java网络爬虫抓取网页数据

    Java网络爬虫是一种自动化程序,用于从互联网上抓取大量数据。它的工作原理是模拟浏览器发送HTTP请求到服务器,接收响应,并解析返回的HTML或XML文档以提取所需信息。在这个过程中,HttpClient是一个常用的Java库,...

    java httpclient 抓取 数据 和jar 包

    在本篇文章中,我们将深入探讨如何使用Java HttpClient来抓取网页数据以及如何打包成jar文件。 **一、Java HttpClient简介** Java HttpClient 是 Apache HttpClient 库的一部分,它提供了丰富的功能,包括连接管理...

    java爬虫抓取网页数据教程.pdf

    本文是一份关于使用Java语言进行网页数据抓取的教程,主要介绍了使用Apache HttpClient这个库来完成网络请求和数据获取的操作。Apache HttpClient是一个支持HTTP协议的客户端工具,被广泛应用于Java爬虫开发中,帮助...

    java网页抓取demo

    Java网页抓取是一种技术,主要用于从互联网上自动提取或获取数据。这个"java网页抓取demo"项目提供了实现这一功能的实例代码。项目中的jar包是实现网页抓取的关键依赖库,包括Apache Commons Logging和HTTP Client。...

    Java实现网页抓取

    在IT行业中,网页抓取是一项基础且重要的技能,它允许我们自动地从互联网上获取大量信息,进行数据分析、搜索引擎优化、市场研究等用途。在这个Java实现网页抓取的项目中,我们将探讨如何利用Java编程语言来抓取网页...

    java抓取任何指定网页的数据

    ### Java抓取任何指定网页的数据 #### 知识点概览 本文主要介绍如何使用Java技术来抓取任何指定网页的数据。重点在于介绍抓取网页数据的方法、解析数据的手段,以及具体实施过程中的关键步骤。 #### 抓取网页数据...

    java新闻抓取

    【Java新闻抓取】是一种利用编程...在Eclipse中,创建一个Java项目,编写`CatchNews`类,实现抓取腾讯IT业界新闻的功能,并可能涉及数据存储和处理。这不仅可以提升我们的编程技能,也是获取实时网络信息的有效手段。

    点评网美食数据抓取代码--java 实现

    在IT行业中,数据抓取是一项重要的技能,尤其是在大数据...以上是关于“点评网美食数据抓取代码--java 实现”项目中的主要知识点。通过实践这些技术,不仅可以掌握网络爬虫的开发,还能提升Java编程和数据处理能力。

    java利用htmlparser抓取网页数据

    本篇将重点讲解如何利用HTMLParser库在Java中抓取网页数据。 HTMLParser是Java的一个开源库,专门用于解析HTML文档,提取其中的数据。它的设计目标是简化HTML解析过程,即使面对不规范的HTML代码也能有效地处理。...

    京东商品数据抓取

    在IT行业中,数据抓取是一项重要的技能,尤其对于电商平台的数据分析和市场研究至关重要。本项目是关于“京东商品数据抓取”的实现,虽然目前仅支持京东平台,但具备扩展到其他电商平台如淘宝、天猫、易迅等的潜力。...

    java爬虫抓取网页数据教程(20210809124656).pdf

    Java爬虫经常用于数据抓取、搜索引擎索引构建、市场数据分析、竞争对手监控等场景。 2. Java语言: 文档中提到的“Java”是编写爬虫的主要编程语言,Java以其跨平台、对象导向、安全性高等特点,在企业级应用开发中...

    java解析html抓取网站数据采集网站信息

    本篇文章将深入探讨如何使用Java语言解析HTML并抓取网站数据,从而实现高效的信息采集。 首先,我们需要理解HTML的基本结构。HTML(HyperText Markup Language)是网页内容的主要标记语言,它由一系列的元素组成,...

Global site tag (gtag.js) - Google Analytics