![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
No_Game_No_Life_
这个作者很懒,什么都没留下…
展开
-
爬虫从入门到放弃——正则表达式
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂。了解正则表达式假设你在一篇英文小说里查找hi,你可以使用正则表达式hi。这几乎是...原创 2019-01-25 10:57:29 · 669 阅读 · 0 评论 -
爬虫从入门到放弃——Webmagic源码阅读之PageModel
PageModel在OOSpider里面,有这样一段注释:/** * The spider for page model extractor.<br> * In webmagic, we call a POJO containing extract result as "page model". <br> * You can customize a crawle...原创 2019-02-20 15:06:41 · 1084 阅读 · 0 评论 -
爬虫从入门到放弃——Webmagic源码阅读之OOSpider
由于Webmagic使用手册内容实在太过简单,对于新手来说想要更深入的掌握太不友好,所以我打算阅读样本代码sample和源码。OOSpider以往我们启动程序,是在Main函数里调用Spider.create(new PageProcessor()).addUrl("https://www.cnblogs.com/").thread(5).run();方法,那么OOSpider到底有什么不...原创 2019-02-20 11:34:00 · 1380 阅读 · 0 评论 -
爬虫从入门到放弃——抓取前端渲染的页面
抓取前端渲染的页面随着AJAX技术不断的普及,以及现在AngularJS这种Single-page application框架的出现,现在js渲染出的页面越来越多。对于爬虫来说,这种页面是比较讨厌的:仅仅提取HTML内容,往往无法拿到有效的信息。那么如何处理这种页面呢?总的来说有两种做法:在抓取阶段,在爬虫中内置一个浏览器内核,执行js渲染页面后,再抓取。这方面对应的工具有Selenium、...原创 2019-02-19 17:12:47 · 9854 阅读 · 0 评论 -
爬虫从入门到放弃——组件的使用和定制
以前我们提到了WebMagic的组件。WebMagic的一大特色就是可以灵活的定制组件功能,实现你自己想要的功能。在Spider类里,PageProcessor、Downloader、Scheduler和Pipeline四个组件都是Spider的字段。除了PageProcessor是在Spider创建的时候已经指定,Downloader、Scheduler和Pipeline都可以通过Spider...原创 2019-02-19 15:08:10 · 967 阅读 · 0 评论 -
爬虫从入门到放弃——WebMagic使用简单的爬虫(2)
WebMagic基本代码现在我们想爬取博客园的作者,我们进入博客园的网站:www.cnblogs.com 。如下图所示:现在我们想爬取第一页里所有文章里的作者名,我们该怎么做呢?Spider.create(new MyProcessor()).addUrl(&amp;amp;amp;quot;https://www.cnblogs.com/&amp;amp;amp;quot;).thread(5).run();首先使用上面这句,初始化PageProce...原创 2019-02-19 11:12:35 · 984 阅读 · 0 评论 -
爬虫从入门到放弃——WebMagic使用简单的爬虫(1)
实现PageProcessor这部分我们直接通过GithubRepoPageProcessor这个例子来介绍PageProcessor的编写方式。我将PageProcessor的定制分为三个部分,分别是爬虫的配置、页面元素的抽取和链接的发现。public class GithubRepoPageProcessor implements PageProcessor { // 部分一:抓...原创 2019-02-18 14:53:31 · 1263 阅读 · 0 评论 -
爬虫从入门到放弃——WebMagic概述
WebMagic概览WebMagic项目代码分为核心和扩展两部分。核心部分(webmagic-core)是一个精简的、模块化的爬虫实现,而扩展部分则包括一些便利的、实用性的功能。WebMagic的架构设计参照了Scrapy,目标是尽量的模块化,并体现爬虫的功能特点。WebMagic的结构分为Downloader、PageProcessor、Scheduler、Pipeline四大组件,并由S...原创 2019-02-18 10:56:44 · 945 阅读 · 2 评论 -
爬虫从入门到放弃——开源爬虫框架
本文参考自知乎,供本人学习使用:作者:老夏链接:https://www.zhihu.com/question/27042168/answer/70821088目前主流的网络爬虫框架包括但不限于:Nutch、Crawler4j、WebMagic、scrapy、WebCollector。上面说的爬虫大概可以分为3类:分布式爬虫:NutchJava单机爬虫:Crawler4j、WebMa...原创 2019-02-18 10:23:44 · 1917 阅读 · 1 评论 -
爬虫基础——客户端识别
本文讨论一些服务器可以用来识别其交谈对象的技巧。HTTP最初是匿名、无状态的请求和响应的协议。Web服务器几乎没有信息可以用来判定哪个是用户发送的请求。现代的Web站点希望能够提供个性化的接触,具有如下识别的机制:承载用户身份信息的HTTP首部。客户端IP地址跟踪,通过用户的IP地址对其进行识别。用户登录,用认证方式来识别用户。胖URL,一种在URL嵌入识别信息的技术。cookie,...原创 2019-02-22 14:45:38 · 2158 阅读 · 0 评论 -
爬虫从入门到放弃——反爬虫理论基础
对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它。而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,教育网站的题目等。因为这些内容,往往是一个产品的生命线,必须做到有效地保护。这就是爬虫与反爬虫这一话题的由来。常见反爬虫策略但是世界上没有一个网站,能做到完美地反爬虫。如果页面希望能在用户面前正常展示,同时又不给爬虫机会,就必须要做到...原创 2019-02-21 10:13:58 · 2518 阅读 · 0 评论