Stay hungry. Stay foolish.

0%

Java网络爬虫初探

  Java网络爬虫初探

来自掘金平头哥的技术博文

  1. 学Java爬虫需要的基础知识即系列总括(详情)

  2. Java网络爬虫入门(详情)

以采集虎扑列表新闻的新闻标题和详情页为例,使用 Jsoup 和 HttpClient 两种方式获取到页面,然后利用选择器解析得到数据

  • Jsoup
  • Httpclient + 正则表达式
  1. 解决网络采集的登陆问题(详情)

以获取豆瓣个人信息为例,从手动设置 cookies 和模拟登陆这两种方式

  • 手动设置cookie(但会失效)
  • 模拟登陆方式:Jsoup和httpclient(登陆验证问题自己扩展)
  1. 网页采集遇到数据 Ajax 异步加载(详情)

以网易新闻为例,从利用 htmlunit 工具获取渲染完页面和反向思维直接获取到 Ajax 请求连接获取数据两种方式

  • 内置一个浏览器内核,以内置浏览器 Selenium 方式为例(效率不高而且不稳定)
  • 反向解析法
  • 疑问:如何确定是爬虫时遇到数据异步加载?
  1. 网页采集 IP 被封(详情)

以豆瓣电影为例,主要以设置代理IP为中心,讨论IP被限制访问的解决办法,还会简单的聊一下如何搭建自己的ip代理服务

  • IP代理池项目:proxy_pool
  1. Java多线程爬虫以及分布式爬虫架构方案(详情)

单线程缺点:

  1. 效率低,程序之间串行
  2. 对服务器的CPU利用率不高

要做好多线程爬虫就必须做好两点:第一点就是统一的待采集 URL 维护,第二点就是 URL 的去重

  • 维护待采集的 URL
  • URL 的去重
  1. 作者没有更新……

《网络数据采集技术:Java网络爬虫实战》