范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

url过滤怎么破解(如何关闭url过滤)

  【摘要】 集算器 SPL 支持抓取网页数据,根据抓取定义规则,可将网页数据下载到在本地进行统计分析。具体定义规则要求、使用详细情况,请前往乾学院:集算器 SPL 抓取网页数据!
  网站上的数据源是我们进行统计分析的重要信息源。当我们浏览网页,看到自己感兴趣数据内容时,希望能够快速抓取网页上的数据,这对于数据分析相关工作来说极其重要,也是必备的技能之一。但是网络数据抓取大多需要复杂的编程知识,操作也比较繁琐。这里介绍如何用集算器 SPL 快速抓取网页数据。
  1、基本流程图2、抓取网页数据接口3、定义规则 A、web_info B、init_url C、help_url D、target_url E、page_url4、抓取股票历史数据5、用户自定义程序 A、数据提取程序接口 B.数据保存程序接口 C、数据提取程序样例 D、数据保存程序样例 E、自定义程序的使用
  1、基本流程图
  从给定的开始地址进行遍历,将解析过滤后的网址放入下载地址队列,分成网址页 help_url 与下载页 target_url, 网址页只收集网址,下载页即能收集网址,也能提取数据,把提取到的数据保存起来。抓取网页数据直到遍历地址为空,则抓取工作结束。
  2、抓取网页数据接口 web_crawl(jsonstr) 是抓取网页数据接口,参数 jsonstr 是定义规则的字符串,抓取数据时,根据定义规则遍历 URL、下载、提取、保存相关内容数据。 本接口依赖集算器外部库 webcrawlCli。它缺省安装在集算器软件的 esProc\extlib\webcrawlCli 路径下,在集算器的外部库设置中勾选 webcrawlCli 项, 重启集算器后,就可以使用 web_crawl 接口。
  web_crawl 简单用法,如抓取指定股票数据,SPL 脚本 demo.dfx:
  获取股票代码 600000 的数据文件:
  文件内容:
  3、定义规则根据基本流程图,将定义规则分成网站信息、初始网址、网址页、下载页、提取数据五部分。具体内容如下:[{web_info:{domain:‘www.banban.cn’, save_path:‘d:/tmp/data/webmagic’, thread_size:2, cookie:{name:"jacker", laster:"2011"},user_agent:‘Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0’}},{init_url:[‘_cybs.htmlhttps://www.banban.cn/gupiao/list’, ‘_sh.htmlhttps://www.banban.cn/gupiao/list’]},{help_url:[‘gupiao/list_(sh|sz|cyb)\.html’, ‘/shujv/zhangting/’, ‘/agu/$’]},{target_url:{reg_url:‘/agu/365\d’}},{target_url:{filter:‘gupiao/list_(sh|sz|cyb)\.html’, reg_url:‘gupiao/[sz|sh]?(60000\d)/’,new_url:‘http://www.aigaogao.com/tools/history.html?s=%s’}},{page_url:{filter:‘history.html\?s=\d{6}’, extractby: "//div[@id=‘ctl16_contentdiv’]/"}},{page_url:{extractby: "//div[@id=‘content_all’]/"}},{page_url:{filter:‘/agu/365\d’, extractby: "//div[@id=‘content’]/"}}]
  规则简要说明:web_info:网站信息, 根据要下载的网站,设置域名、本地存储位置、用户代理信息、用户自定义程序等相关的信息。init_url:初始网址, URL 遍历的入口网址。help_url:网址页, 定义网址页规则,收集网页内容中的 URL,但不提取此页面数据内容。target_url:下载页, 定义下载页规则,收集网页内容中的 URL,同时也提取此页面的内容。page_url:提取数据, 定义页面内容提取规则,在下载页 target_url 中根据此规则提取内容。
  注意: json 书写结构细节,节点 {} 中的 [] 表示 list 列表,节点 {} 中的 {} 表示 map 键值结构,书定时要注意,否则书写不对易引起解析错误。
  定义规则说明
  A、web_info设置要下载的信息,内容包括:domain:设置域名。save_path:文件存储路径。user_agent:指用户代理信息。 作用: 使服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。sleep_time:抓取间隔。cycle_retry_times:重试次数。charset:设置编码。use_gzip:是否为 gzip 压缩。time_out:抓取超时设置。cookie_name:cookie 信息,键值结构。thread_size:抓取时线程数。save_post:是否要为存储的文件名称追加编码串,以防网名文件被覆盖,缺省值为 true。如 books/a.html, music/a.html, 都是要下载的页面,保存时若此参数为 true, 则存储文件名分别为 a_xxxcgk.txt,a_xabcdw.txt,文件不会被覆盖;若为 false, 保存文件名为 a.txt, 后存储的就会将已存在的同名文件覆盖。class_name:用户自定义的存储类。class_argv:传递给 class_name 类的字符串参数。
  B、init_url初始的 URL。为 List 列表结构,可设置多个 URL.
  C、help_url网址页主要是定义要收集的 URL 过滤规则, 符合规则的 URL 会被加入下载网址队列,但是不会提取其具体内容。过滤规则支持正则表达式,如:gupiao/list_(sh|sz|cyb)\.html 表示 URL 中只有包括字符串 gupiao/list_sh.html、gupiao/list_sz.html、gupiao/list_cyb.html 链接才能通过。为 List 列表结构,可定义多个规则。
  D、target_url下载页是要抓取内容数据的 URL,需要从这个页面里提取内容。若此 URL 符合 help_url 过滤规则,那么也会在本页面中收集 URL。约定定义规则格式:{target_url:{filter: pageUrl, reg_url:urlRegex, new_url:newUrl}},表示在符合 pageUrl 条件的页面中,找出符合 urlRegex 条件的 href 链接,若 newUrl 定义了,则可与 urlRegex 过滤结果组合成新的 URL。例如在页面中找到链接 a_100.html 符合过滤条件 reg_url=a_(\d )\.html, 则有 newUrl=b_%s.php, 那么 urlRegex 过滤 a_100.html 的结果为 100, 将与 newUrl 合并,新的下载页为 b_100.php。其中 filter 表示定义过滤的 URL 规则;若无此定义,表示所有的 target_url 都要用此规则。reg_url 表示要收集的 URL 规则,必写;无 reg_url 的 target_url 规则则无意义。new_url 表示定义新的页面,需要与 reg_url 过滤结果结合成新的 URL。
  举例说明:3.1 定义规则:{target_url:{filter:‘gupiao/list_(sh|sz|cyb)\.html’, reg_url:‘gupiao/([sz|sh]?6000\d{2})/’,new_url:‘http://www.raqsft.com/history.html?s=%s’}}在下载页 gupiao/list_sh.html 中包含如下内容:包钢股份 (600010)四川路桥 (600039)保利地产 (600048)
  A、gupiao/list_sh.html 符合 filter 条件B、href 串符合 reg_url 条件,将产生 [600010, 600039, 600048]C、过滤结果与 newUrl 生成新的 URL:http://www.raqsft.com/history.html?s=600010http://www.raqsft.com/history.html?s=600039http://www.raqsft.com/history.html?s=600048new_url 中的 %s 为合并字符串的占位符。
  3.2 定义规则:{target_url:{reg_url:‘/ gupiao/60001\d’}},
  在下载页 gupiao/list.html 中包含如下内容:包钢股份 (600010)四川路桥 (600039)保利地产 (600048)
  href 中符合 reg_url 条件的,则收集到的 URL 为: http://www.xxx.com/gupiao/600010/ 其它两个 href 不符合过滤条件。 设置 filter 是为了在过滤后的页面中去收集 URL, 当 help_url 多时,过滤后缩小了范围,提高了效率。 target_url 规则可定义多条,以适应不同的条件。
  E、page_url提取数据,主要作用于下载页面内容提取,它表示使用这个抽取规则,将提取到的结果保存。定义此规则参考 xpath 使用说明。它只提取主要内容,但对内容细节还需要 className 类来抽取。约定定义规则格式:{page_url:{filter: pageUrl, extractby: contentReg, class: className }},其中 filter 表示符合过滤条件的 url 规则,若无此定义,表示所有的 target_url 都要用此规则。extractby 表示页面内容提取规则。若定义 class,表示由 className 类执行内容提取;若 className="default", 表示用当前缺省方式提取,也就是针对 table 表中的内容提取数据。若缺省提取不满足需求,用户可自定义类来实现,具体实现参考后面用户自定义程序。例如:extractby :"//div[@class=news-content]/text()",从网页中提取此节点下的数据。
  page_url 可针对不同的页面制定不同的规则。通过 filter 过滤后的页面中去提取数据,减少要处理的 URL 数量,当 target_url 多时,能提高效率。
  若无 extractby 规则,则表示提取 target_url 页面中所有的内容。若定义了多条 page_url 规则 ,则首个符合规则的内容将被提取。假如 A 页面内容的符合规则 R1,R2,R3, 提取内容时首先是 R2,则不再根据 R1、R3 规则提取数据。说明:若没有定义 target_url 规则,但当前页面有适合的 page_url 规则,则此页面的内容也会被提取。
  4、抓取股票历史数据
  下面用抓取股票历史数据来说明,web_crawl() 接口是如何应用的。基本操作:先获取股票代码,然后通过股票代码查询历史数据,从下载页面中提取数据后保存。A、在https://www.banban.cn/gupiao/list_xxx.html 页面 help_url 提取上证、深证、创业板的股票代码。B 、将股票代码与http://www.aigaogao.com/tools/history.html?s=%s 结合,生成需要下载网址 target_url.C 、针对下载页 target_url 中的内容提取。
  D、显示提取后的内容。
  SPL 实现代码 Stock.dfx:
  加载其中的股票 600010 数据为:
  5、用户自定义程序 对于内容提取,缺省提供了对 html 中的 table 内容进行抽取。 但是世界上没有千篇一律的网页一样,也没有一劳永逸的提取算法。在使用网页数据抓取过程中,你会碰到各种类型的网页,这个时候,你就要针对这些网页,来实现对应抽取方法。存储方式类似,缺省提供的是文件保存,若想其它方式如数据库存储,还需要用户自己开发程序。参考下面接口,可将自定义程序融入网页数据抓取流程中。
  A、数据提取程序接口
  下载页的内容组织形式多样,各具不同,为了适应更多的内容提取需求,用户可自定义提取数据程序。接口程序:package com.web;
  import us.codecraft.webmagic.Page;public interface StandPageItem {// 数据提取处理。void parse(Page p);}
  需要实现 com.web.StandPageItem 接口 parse(Page p),数据提取在此实现。
  B、数据保存程序接口提取数据存储方式种类繁多,各具不同,为了适应更多的数据存储需求,用户可自定义数据存储程序。接口程序:package com.web;import us.codecraft.webmagic.ResultItems;import us.codecraft.webmagic.Task;import us.codecraft.webmagic.pipeline.Pipeline;
  public interface StandPipeline extends Pipeline { public void setArgv(String argv); public void process(ResultItems paramResultItems, Task paramTask);}同样需要实现 com.web.StandPipeline 类中的 setArgv(), process()。setArgv()输入参数接口,process() 处理存储数据接口。
  C、数据提取程序样例实现 com.web.StandPage 接口 parse(Page p),参考代码:package com.web;import java.util.List;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.selector.Selectable;
  public class StockHistoryData implements StandPageItem{ @Override public void parse(Page page) { StringBuilder buf = new StringBuilder(); List nodes = page.getHtml().xpath("table/tbody/").nodes(); for(Selectable node:nodes){ String day = node.xpath("//a/text()").get(); List title = node.xpath("//a/text() | tr/td/text()").all(); if (title.size()

贮藏的近义词是什么(贮藏特性是什么意思)贮藏姜要注意姜的采收,必须在根茎充分膨大老熟时进行。采收过晚根茎受冻。雨天或雨后采收不耐藏,也要避开晴天暴日。姜采收后不需晾晒,应立即入库。如果根茎过湿,可稍晾,不可过夜。贮藏特性挫伤是什么意思(骨挫伤需要休息多久可以上班)扭伤拉伤挫伤在生活中多见,一般手腕脚踝肩膝关节及颈腰椎等部位较为多见。人摔倒时肢体着地或受到钝器伤害便可能造成这些部位的损伤,程度较轻的损伤愈合也快些,不会残留什么后遗症。但对涉及参商是什么意思(参商的反义词)人生不相见,动如参与商怎样释解?这句话的盲点在参与商,搞懂参商的意思就明白了。参商指的是参星与商星,二者在星空中此出彼没,彼出此没,永无相见之日。引申出对立距离遥远,不和睦,不能或优渥是什么意思(优渥的反义词是什么)从小到大,人们都会听到一个词家境,比如说谁家家境优渥,谁家家境堪忧,当女儿要选择人家时,也不忘叮嘱女儿,找个家境好点的。不过,家境却是一个外延很广的词,现实生活中,我们说的家境可以百合花的功效与作用(百合花的功效与作用有哪些?)百合花的功效与作用(百合花的功效与作用有哪些?)百合百合富含维生素C以及钙钾镁,具有美容养颜预防高血压强健骨骼与牙齿的效果。从中医的观点来看,有润肺止咳清心安神的功效。百合性味甘甜女同性恋叫什么(百合是怎样弄对方的)在古代电视剧中,我们偶尔会听见太监或者宫女说对食这一词。很多人误以为对食就是吃饭的意思,其实并不是。那么太监宫女对食是什么意思呢?众所周知,在古代太监和宫女是最孤独的人,他们长期幽qa是什么职位(药厂干QA还是QC好)1产品早期的质量管理(工业化雏形期)侧重于对终产品的检测测试,即QC(品质控制)时代。这个时期的质量管理是以产品为主,在生产人员完成了生产任务后,有专门的人员(简称品控人员或QC人qc什么意思(聊天qc是什么意思啊)QC,IQC,IPQC,QA在厂里上班的小伙伴们对这些肯定不陌生这些专业名词是我们经常要用到的那你知道他们都是什么意思吗?那如果辛哥要说这些专业名词跟找对象结婚也有关系小伙伴们是不qa和qc的区别(制药企业的QA为什么做不长)一两者之间作用不同1QA的主要职能作用a直接对高级项目业务经理组的项目工作负责,但在高级项目管理业务上却经常需要向高级业务项目经理团队进行项目汇报,属于整个高级项目组的主要成员。如mp什么意思(mp男的是什么意思)mp表示音乐中音的强弱为中弱。mp是MezzoPiano的缩写,表示为中弱。mp是一个音乐术语,音乐术语是指在音乐表演中用来指导演奏者表演的专业术语。其中既包括音乐构成要素(如速度KingstonHyperXCloudII粉色魅力新崛起粉红耳机征服电竞女孩的心金士顿Kingston这个品牌大家一定对它不陌生,第一个在脑海中显现的画面不外乎记忆体记忆卡随身碟和SSD固态硬碟等等的储存装置,许多人购买储存装置指名的品牌就是Kingston,
紫色怎么调(深紫色用什么颜色调出来)效果图素材图新建画布,打开素材0添加照片滤镜,选择黄,密度25添加可选颜色,选中红色进行参数的调节调节黄色,参数如图调节绿色,参数如图调节白色,参数如图调节中性色,参数如图添加色彩蒙版怎么用(ps怎么用蒙版贴材质)蒙版这个词,最早出现在PS中,通常分为图层蒙版剪贴蒙版矢量蒙版和快速蒙版四种。但在PPT中,其实也能实现类似的效果哦,并且玩起来更easy!将幻灯片的背景格式设置为图片填充效果,并ps如何用抠图(ps软件用钢笔怎么抠图)在用PS钢笔工具抠图过程中,我们常常会见到钢笔工具显示的各种状态,但是,好多人都是一知半解,并没有理解各种钢笔状态的真正含义,下面就为大家详细解析钢笔工具抠图过程中的8种状态。现在ps如何放大图片(ps怎么修人脸皮肤变得光滑)相信很多人都会注意到,一些人在拍照的时候,常常是表情不怎么丰富,而显得照片不好看,跟真人相比,就少了一个爱笑的眼睛一样。但是,每个人都会有自己拍照时的习惯,我们不应该予以评价,可是ps如何放大缩小(ps中如何把图片拉大)我们编辑图像时,经常需要将图像放大缩小和移动。缩放的意思是改变图像的显示倍数,图像放大是为了显示图像的部分细节内容,以便看得更清楚,图像缩小是为了看到图像更全面的内容,宏观的显示。ps怎么放大图片(ps如何随意拉扯形状)图片这类的文件在我们日常的生活中,相信很多小伙伴都会经常用到它们。而当我们收到了一张好友发来的图片,可能他发来的图片是有自己的logo的,而虽然logo很小不显眼,但是也会让我们在电脑微信打字怎么换行(电脑怎么强制换行快捷键)私信回复关键词学一招一次性获取Excel小技巧合集!助你成为高效职场人!大家好,我是懂点Excel的小兰每日学习,一起进步!不知道同学们在使用Excel的时候,有没有注意到这个小提苹果打字怎么换行(iphone12打字怎么切换下一行)iphone已经支持第三方输入法的介入,很多小伙伴都在使用第三方输入法,虽然有很多的皮肤,按键音,词库,表情等等强大功能,但稳定性却不是很高,很多小伙伴会选择使用原机输入法,虽然没qq打字怎么换行(华为mate3如何换行)各位朋友,你们好。今天和大家分享的是一个很小很的技巧文字内容换行。关于文字换行,你们可能已经看过了很多这方面的文章,那些文章中确实已经讲解过不少换行操作的方法。那么我今天讲什么呢?苹果微信打字怎么换行(苹果手机微信编辑信息怎么换行)我最近在玩苹果手机时发现,其他功能使用键盘输入都还行,但是在使用时,发现没有换行符。需要换行时,需要自己一个个点空白键,非常不方便。苹果自带输入法,在中输入文本,该如何换行呢?所以手机为什么不能打字了(手机不能编辑文字是怎么回事)不会打字不会写字打字太慢怎么办?其实很多聊天软件都有语音打字功能以为例聊天时你可以按以下步骤解放你的双手NO。1打开这里以华为手机为例打开对话框NO。2点击写的菜单弹出输入法选项如