大三上寒假15天--第10天

今天继续学习webmagic爬虫技术,组件包含:

1.Downloader

Downloader负责从互联网上下载页面,以便后续处理。WebMagic默认使用了Apache HttpClient作为下载工具。

2.PageProcessor

PageProcessor负责解析页面,抽取有用信息,以及发现新的链接。WebMagic使用Jsoup作为HTML解析工具,并基于其开发了解析XPath的工具Xsoup。

在这四个组件中,PageProcessor对于每个站点每个页面都不一样,是需要使用者定制的部分。

3.Scheduler

Scheduler负责管理待抓取的URL,以及一些去重的工作。WebMagic默认提供了JDK的内存队列来管理URL,并用集合来进行去重。也支持使用Redis进行分布式管理。

除非项目有一些特殊的分布式需求,否则无需自己定制Scheduler。

4.Pipeline

Pipeline负责抽取结果的处理,包括计算、持久化到文件、数据库等。WebMagic默认提供了“输出到控制台”和“保存到文件”两种结果处理方案。

Pipeline定义了结果保存的方式,如果你要保存到指定数据库,则需要编写对应的Pipeline。对于一类需求一般只需编写一个Pipeline。

webmagic有许多的方法,最重要的就是getSite()和process()方法

getSite()可以设置抓取间隔时间等,process用于对下载的html页面进行处理,抓取想要的结果,一般对这两个方法进行重写以完成爬虫程序。

对首都之窗信件的爬取页面规律的寻找又遇到了难题,下一页的链接都是javascript:void(0)死链接,网上说这种的都特别复杂,但是我发现url都是http://www.beijing.gov.cn/so/s?qt=%E4%BF%A1%E4%BB%B6&tab=all&siteCode=1100000088&page=3这个page=3可以动态修改来控制是哪一页,这个3代表第三页,也许这是一个突破点,我会继续努力。

原文地址:https://www.cnblogs.com/my---world/p/12293529.html

时间: 2024-08-30 07:48:47

大三上寒假15天--第10天的相关文章

大三上寒假15天--第1天

学习于林子雨<大数据技术原理与应用>教材配套大数据软件安装和编程实践指南 一. 安装spark 第一步,spark下载(http://spark.apache.org/downloads.html) 第二步,spark压缩包解压 sudo tar -zxf ~/下载/spark-1.6.2-bin-without-hadoop.tgz -C /usr/local/ 第三步,解压后文件夹改名为spark cd /usr/local sudo mv ./spark-1.6.2-bin-withou

大三上寒假15天--第3天

学习于大数据原理与应用 第十六章 Spark 学习指南 三.独立应用程序编程 2.Scala应用程序代码 cd ~           # 进入用户主文件夹 mkdir ./sparkapp        # 创建应用程序根目录 mkdir -p ./sparkapp/src/main/scala     # 创建所需的文件夹结构 vim ./sparkapp/src/main/scala/SimpleApp.scala #在 ./sparkapp/src/main/scala 下建立一个名为

大三上寒假15天--第5天

昨天的下载完成后运行报错,应该是下载的spark版本和教程不符合,然后pom.xml文件中的spark-core内容而应该不同,但是我还是用的教程导致,现在正在尝试安装教程给的网站找的内容又下载中,不知道这次又要下载多久.(我下载的是spark 2.4.4) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0&qu

大三上寒假15天--第11天

今天继续学习webmagic爬虫 通过老师给的学习资料学习后,对webmagic爬虫基本有了了解,当时对site方法有点模糊,今天也终于搞明白了,感觉就像模拟了一个用户一样,对一个网站的框架还是不是很了解,所以还是不太理解,那些cookie,host,UserAgent,和header是什么,不过我以后会搞明白,今天准备进行编码实际练习,进行一个网站的爬取. 这是爬取前十页信件目录一样的网页,还不清楚怎么获取信件内容url,我会继续努力 package my.webmagic; import u

大三上寒假15天--第14天

今天依旧学习了webmagic爬虫,发现昨天爬取的网址不对,内容也不对,重新找了一个网址爬取,重新整理了思路,发现这个网址,分为三种类型的链接,建议,咨询和一个什么记不清了,需要先判断类型,然后才能分配Id,然后加入url队列. 这个网址的一大难点,就是分页是一个POST传值,然后动态的修改了网页内容,所以今天重新学习了,通过POST获取内容,收益匪浅,忙活了一天,忘记写博客了,很晚了所以就写这么多吧. 另外附上学习的网址,讲的很好 关键代码为: Request request = new Re

大三上寒假15天--第15天

今天webmaigic爬虫又学了一个小技巧,想要自己设计保存爬取内容形式,可以不用重写Pipeline,在process()方法中写上,你想要的保存操作,多数情况可以达到相同的效果,我的爬虫程序,想要将内容保存在一个txt中,就是这么实现的,个人感觉简单很多,也是看了网上的高手的文章,才学到了这个技巧,受益匪浅. 爬虫北京政府信件到此就完成完成了,全部代码如下,我的保存特点为以空格隔开不同的信息,方便导入数据库: package my.webmagic2; import java.io.File

大三上寒假15天--第12天

今天继续学习webmagic 已经可以爬取出目录和跳转去信件的页面,不知道是一直有还是后来加的,现在好像多了哥跳转中页面,目录给的链接不是直接的信件页面,所以我还需要再加一条爬取跳转中页面的提供的url然后访问,才可以爬取信件内容,但是不知道是正则表达式的问题还是什么,总之爬取不到想要的url一直是null,爬取到的为: url: http://www.beijing.gov.cn/so/view?qt=%E4%BF%A1%E4%BB%B6&location=2&reference=5BE

《大四上寒假总结》--3.10

一.几个时间点 寒假离校:1.25 离家返校:1.31 -- 在家时间不到6天 返家准备做手术:2.9 从家返校:2.10 二.具体细节 主要分为三个阶段: 1.熬夜欢愉 2.家里的"幸福"生活 3.医院*N 4.伪复习 (1).考试周结束后的萎靡生活 1.15周六早最后一次数学讨论班结束.正式进入寒假. 室友已经陆续离开.最后的HYE两天后的周一中午飞机. 对于这段时间的记忆就是几乎每天都是看直播,同时身体超级难受 T^T..... 看直播痴迷到什么样的程度?特比喜欢一个叫鲍鲍的主播

大三上的总结(-----坚持走完了自己想走的路-----微笑---------)

(⊙v⊙)嗯,这天是第15周的周末的早晨八点. 为什么突然要写一篇这样柔软的文章来描述自己的大三生活呢? ->_->  因为又到期末啦! 该总结一下自己的脑瓜里学会啥了? 噗,先说点acmer的事吧! 西安赛区小小的回忆,来一首<回忆>---白智英,嗯,优美的调调,西安赛区一战,让我想了很多很多,从寒假集训,到暑假集训,为此放弃了自己休息的时间,而呆在实验室鏖战的ACMer,以及陈老师对我时不时送来的水果和时不时来看望我们,以及学校领导的重视. 深深的知道这一次现场赛来的有多么不容