26-天亮大数据系列教程之网络爬虫的一般作法

一、网络爬虫的一般作法

  • 基于Socket通信编写爬虫
  • 基于HttpURLConnection类编写爬虫
  • 基于apache的HttpClient包编写爬虫
  • 基于phantomjs之类的无头(无界面)浏览器
  • 基于Selenium之类的有头(有界面)浏览器

二、系统设计

2.1 模块划分:
- 任务管理的UI交互层、
- 任务调度层、
- 网络爬取层、
- 数据解析层、
- 数据持久化层

2.2 项目划分
- 数据采集/下载项目(download)
- 数据解析项目(parser)
- 数据持久化(persistence)
- 通用或垂直采集器(controler/manager)
- 公共依赖client对外服务
- 公共依赖common服务其它项目

2.3 重难点
- 按设计来实现
- 乱码解决、
- 多线程设计、
- 爬取的各参数的灵活配置、
- 反爬代理

三、具体技术点
3.1 http协议相关+java se+httpclient+jsoup(httpparser)+database

3.2 http协议相关
      指在爬虫过程中对最为主流的http网址的内容的抓包及参数分析。
    最为主要的参数部分要对http协议相对了解些,包括Url、HttpHeader、Get、Post、Cookie等4项。Url即为共认的Url网址。HttpHeader,指在http请求过程中,协带的各项header信息,如refer,host,encoding,返回的type等。
    Get请求,即为在浏览器中看到的网址后边的参数部分,
    Post请求,即为数据提交的时候对数据保护和扩大数据提交量的一种数据的提交方式。
    Cookie,即为小甜饼,是服务器端向客户端写的信息,往往是为了提高客户端的使用体验而添加的,更关键的是要保持住客户端与服务器的连接状态。

3.3 Java Se:java基础,包括:高级对象使用,IO,多线程,网络通信,偶尔涉及到GUI编程。

3.4 HttpClient: 是开源的Apache的著名的java net编程第三方包,其实是对Java Net包的封状,目前已为4.3版本,更为精简易用,可以免去很多Http操作的细节操作,其核心为HttpUrlConnection的封装。

3.5 Jsoup:网页解析,是近来较受欢迎的html解析器,比htmlparser更简单、易用、高效,故目前应用jsoup的人员急速上升,且与老牌的htmlparser对比优势明显,尤其是其选择器的应用,太过强大,很有吸引用,使人不得选择jsoup去解析httpclient得到的网页内容。

3.6 database操作:
关系型的mysql,sqlserver。
非关系型:bdb,redis,mongodb,ssdb,hbase,elasticsearch。

四、总结
做爬虫系统和做别的系统很像,系统设计很关键,
即层之间的衔接,要尽量高内聚、低耦合。



天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批BAT等一线互联网IT精英人士创建,
以”快乐工作,认真生活,打造高端职业技能教育的一面旗帜”为愿景,胸怀”让天下没有难找的工作”使命,
坚持”客户第一、诚信、激情、拥抱变化”的价值观,
全心全意为学员赋能提效,践行技术改变命运的初心。

更多学习讨论, 请加入
官方-天亮大数据交流-366784928
群二维码:
26-天亮大数据系列教程之网络爬虫的一般作法_第1张图片
天亮教育公开课-从小白到大佬修成记-全系列视频地址:http://bbs.myhope365.com/forum.php?mod=viewthread&tid=1422&extra=page%3D1

欢迎关注天亮教育公众号,大数据技术资料与课程、招生就业动态、教育资讯动态、创业历程分享一站式分享,官方微信公众号二维码:
26-天亮大数据系列教程之网络爬虫的一般作法_第2张图片

爬虫、nlp技术qq群320349384
天亮教育官方群318971238,
hadoop & spark & hive技术群297585251,
官网:myhope365.com
官方天亮论坛:http://bbs.myhope365.com/

你可能感兴趣的:(天亮舆情系统,天亮教育相关课程,天亮创业,网络爬虫)