2月10日学习记录

1,背诵单词:assault 猛烈地攻击,袭击  principal最重要的,主要的  consumption 消费(量),消耗   sniff .嗅…味道;抽鼻涕   extensive广大的,广阔的   tolerance 宽容   denote 表示,意味着   fierce 凶猛的,残忍的   idiot白痴;笨蛋   regarding关于,有关   surge汹涌;彭湃  railroad 铁路   coordinate 同等的,并列的  renovate 更新,修复   efficiency效率;功效   gown长袍   cotton棉花;棉线   minor较小的,较小的   magistrate地方行政官   whale n.鲸;庞然大物

2,做爬取北京信件网页内容并学习Java爬虫webMagic框架观看视频:https://www.bilibili.com/video/av48765648? 23到33集

  1,添加webMagic依赖

  2,添加资源文件log4j.properties

  3,WebMagic的结构分为DownloaderPageProcessorSchedulerPipeline四大组件,

    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

  4,常用对象: 

    1. Request

    Request是对URL地址的一层封装,一个Request对应一个URL地址。它是PageProcessor与Downloader交互的载体,也是PageProcessor控制Downloader唯一方  式。除了URL本身外,它还包含一个Key-Value结构的字段extra。你可以在extra中保存一些特殊的属性,然后在其他地方读取,以完成不同的功能。例如附加上一个页  面的一些信息等。

    2. Page

    Page代表了从Downloader下载到的一个页面——可能是HTML,也可能是JSON或者其他文本格式的内容。Page是WebMagic抽取过程的核心对象,它提供一些方法  可供抽取、结果保存等。在第四章的例子中,我们会详细介绍它的使用。

    3. ResultItems

    ResultItems相当于一个Map,它保存PageProcessor处理的结果,供Pipeline使用。它的API与Map很类似,值得注意的是它有一个字段skip,若设置为true,则不  应被Pipeline处理。

  5,抽取元素:

    

    xpath方法:

//查找所有的"B"

var xpath="//B";

//查找所有元素

xpath = “//*”;

// 选择所有路径依附于/A/B/的元素

xpath ="/A/B/*";

//选择所有的有3个祖先元素的B元素

xpath ="///*/B" ;

// 选择所有父元素是DDD的BBB元素

xpath="//C/D";

// 选择A/B/C的第一个E子元素

xpath="/A/B/C/E[1]";

//选择A/B/C的最后一个E子元素

xpath="/A/B/C/E[last()]" ;

//选择有name属性的B元素

xpath = “//B[@name]” ;

//选择所有的name属性

xpath="//@name";

//选择有任意属性的B元素

xpath="//B[@*]";

//选择没有属性的B元素

xpath="//B[not(@*)]";

//选择含有属性id且其值为’e2’的E元素

xpath="//E[@id=‘e2’]";

//选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为’b’的B元素

xpath="//B[normalize-space(@name)=‘b’]";

//选择含有2个B子元素的元素

xpath="//*[count(B)=2]";

//选择含有3个子元素的元素

xpath="//[count()=3]";

//选择所有名称为B的元素(这里等价于//B)

xpath="//*[name()=‘B’]";

//选择所有名称以"W"起始的元素

xpath="//*[starts-with(name(),‘W’)]";

//选择所有名称包含"W"的元素

xpath="//*[contains(name(),‘W’)]";

//选择名字长度为2(大于、小于)的元素;

xpath="//*[string-length(name()) = 2]";

xpath="//*[string-length(name()) < 2]";

xpath="//*[string-length(name()) > 1]";

//多个路径可以用分隔符 | 合并在一起,可以合并的路径数目没有限制,选择所有的WF和C元素

xpath="//WF | //C";

//等价于/A

xpath="/child::A";

//等价于//C/D

xpath="//child::C/child:: D";
    

3,遇到的问题:对Java集合的操作不熟练

4,明天计划:继续将爬取的数据进行分析并学习hive的使用

原文地址:https://www.cnblogs.com/lq13035130506/p/12293398.html

时间: 2024-10-04 23:57:54

2月10日学习记录的相关文章

9月6日学习记录

早晨学习了网易云课堂的<Python Web全栈工程师>课程的预习课程<做一个静态网页>.自己手动过了一遍视频教程的代码,过程很成功,明天做这个系列的课后作业.下午,学习了中国大学MOOC课程的<Python网络爬虫与信息提取>.主要是跟着视频重新过了一遍<实战2:股票交易信息的爬取>,除了有个别的问题还需要再搞清楚一点之外,大部分的流程都明白了.明天的任务是再分别分析一下这周课程的两个实战项目.越来越清晰的感觉到自己的基础知识的缺乏.毕竟,到现在为止才学了

7月16日学习记录

今天学习了html基础知识,认识标签,学习表单,基本能看懂网页基本中语句.明天计划学习CSS. 1.大框架 <html> <head>  放标题等 </head> <body>    网站的正文 </body> </html> 2.标签大都是成对出现的,例外:<br/>(回车)&nbsp(空格)<hr/>(横线). 3.文本中常用的标签:strong(加粗)em(斜体)q blockquote(引用)等

1月5日学习记录

1.首先对数据的分析 我觉得首先要了解通用的传统方法是什么,在了解传统方法的过程中,就会对问题就更深的理解. 2.VAE学习 https://blog.csdn.net/Avery123123/article/details/103283558(待看) http://cjc.ict.ac.cn/online/onlinepaper/yfn-201916192006.pdf 这个也介绍了多种类型的VAE.(待看) https://www.cnblogs.com/HYWZ36/p/11416710.

2月1日学习记录

1,背诵英语单词20个左右: shell:贝,卵    delicate:纤弱的,熟练的  treat:威胁,恐吓  utmost:极度的,最大的  wit:机智  stool:凳子  strictly:严格的,严厉的  facility:设施  recorder:录音机       similarly:相似的,类似的  drift:流动,随意移动  helmet:头盔,钢盔  summarize:总结,概述  terminal:终结,终端  utilize:利用,使用  shepherd:牧羊

2月2日学习记录

1,背诵单词:substitute:替代者,替代物  valid:有效的  wax:蜡,蜡状物  stubborn:顽固的,固执的  abstract:抽象的  ankle:踝关节,踝  occasionally:偶尔  trace:踪迹   export:出口,输出  scan:扫描,细看  stale:陈腐的,不新鲜的  venture:冒险行事  amongst:处在.....中  calculate:计算,估计  victim:牺牲者,受害者 aluminium:铝  explode:使

2月3日学习记录

1,背诵单词:bay:海湾  earn:赚的  cheerful:欢乐的  cash:现金  basin:盆,盆地  attain:达到  effort:努力  cassette:盒式录音带  civilization:文明  cock:公鸡  cabinet:内阁,橱柜  copper:铜币  fierce:凶猛的  fame:名声  cheque:支票  communism:共产主义  emit:发出  curtain:窗帘  conversation:会话 2,学习Python爬虫的Scr

2月5日学习记录

1,背诵单词:outlook:前景,展望  operate:做手术  peach:桃子  rank:排列  oxygen:氧气  overseas:海外的  particular:特别的  paste:粘贴  patch:眼罩  pack:包裹  participate:参加  overtake:追上  modern:现代的  merchant:商人  path:小路  likewise:同样的  ministry:部门  Pacific:太平洋  minority:少数 2,学习spark视频

2月6日学习记录

1,背诵单词:dive:潜水  wreck:残骸,毁灭  vitamin:维生素  distribution:分配  dismiss:解雇  Soviet:苏维埃  dialect:方言  wrist:手腕  interpreter:解释着  spider:蜘蛛  destination:终点  van:厢式货车  Fahrenheit:华氏温度计的  worship:崇拜  step:步,脚本  tomb:坟墓  tight:紧的  vase:花瓶  twinkle:闪烁的 2,学习spark

2月9日学习记录

1,背诵单词:obstacle:障碍物  gum:口香糖  fridge:电冰箱  combination:结合  fasten:系牢  purchase:购买  leak:漏出  inhabitant:居民  express:快递  conceal:隐瞒   digest:消化  beggar:乞丐  apology:道歉认错  suspicion:怀疑  aid:帮助  yield:投降  dew:水珠  transmit:传输  stable:稳定的  spot:点 2,做spark实验4