使用webpasser抓取某笑话网站整站内容

news/2024/5/15 14:34:33/文章来源:https://blog.csdn.net/weixin_30326745/article/details/98599971

使用webpasser框架抓取某一笑话网站整站内容。webpasser是一款可配置的爬虫框架,内置页面解析引擎,可快速配置出一个爬虫任务。配置方式将页面解析和数据存储分离,如果目标网站改版,也可以快速修复。

配置说明如下(该例子完整配置见http://git.oschina.net/passer/webpasser):

    1.先写总的抓取参数:网页编码是gbk,请求超时时间是5秒,请求失败重试5次,抓取失败后等待时间10秒,设置10个线程抓取,每次抓取后不等待。这里不设置请求头信息、cookie,代理了。

<fetchConfig charset="gbk" timeOutSecond="5" errorRetry="5" errorDelayTime="10" runThreadNum="10" fetchPrepareDelayTime="0" > <userAgent>Mozilla/5.0 (compatible; webpasser;)</userAgent> <headers> <!-- <header name="Referer" value="http://www.jokeji.cn" /> --> </headers> <!-- HTTP Cookie --> <cookies> <!-- <cookie name="cookie1" value="" host="" path=""/> <cookie name="cookie2" value="1" /> --> </cookies> <!-- 代理设置: 从ip.txt中批量获读取ip,每次抓取随机使用某个ip --> <!-- <proxies path="ip.txt"></proxies> --> <!-- 单个代理获取 ,pollUrl的系统链接中需随机返回一个代理ip,格式是 ip:port (当使用proxy标签时proxies失效) --> <!-- <proxy pollUrl="http://localhost:8083/proxyManage/pollProxyIp.action?task=xunbo" ></proxy> --> </fetchConfig>

    2.scope表示限制抓取的链接域名范围(注意limitHost里一定要是域名,不能在前后加http或/),seeds表示从这些seed为入口开始抓取。

	<scope><limitHost value="www.jokeji.cn" /> </scope> <!-- 种子 --> <seeds> <seed url="http://www.jokeji.cn/" /> </seeds>

    3.如果网页的链接格式符合scope的规则,则进入这个page的解析策略。digLink是用来从一个网页中挖取新的链接。用jsoup语法指定从所有的a标签挖取新链接。由于新链接是相对链接,用relativeToFullUrl处理链将相对链接转为绝对链接。

	<page><scope><rule type="regex" value="http://www.jokeji.cn(.*)" /> </scope> <!-- 链接挖取 --> <digLink > <rules> <rule type="jsoup" value="a[^href]" attr="href" /> <rule type="relativeToFullUrl" /> </rules> </digLink> </page>

4.抽取详情页中想要的具体业务数据,经过下面解析后返回指定的map数据。

(1)获取标题数据:通过jsoup语法(jquery选择器)获得title标签中的内容;由于title内容中"_"后面的内容不需要,通过“cut”便签(截取处理链)将“_”后面的内容去除。

(2)获取文章内容的数据:通过jsoup语法(jquery选择器)获得id为text110的标签里的内容。

	<!-- 解析具体的业务数据,处理后是一个map--><page><scope> <rule type="regex" value="http://www.jokeji.cn/jokehtml/(.*).htm" /> </scope> <field name="title" > <!-- 提取某个字段数据的处理链 --> <rules> <rule type="jsoup" value="title" exp="html()" /> <rule type="cut" > <pre></pre> <end>_</end> </rule> </rules> </field> <field name="content" > <rules> <rule type="jsoup" value="#text110" /> </rules> </field> </page>

5.解析好的数据持久化配置(存储步骤4中的数据):target为handleResultMapInterface是固定值,表示是持久化的类,classPath是具体的实现类。com.hxt.webpasser.persistent.impl.DiskJsonHandleResult是存储到硬盘的实现类demo,该类属性有rootDir(保存到哪个文件夹)、charSet(存储时的编码),详见该类。可自定义编写持久化类,继承HandleResultMapInterface接口,有些属性用配置传入。(建议持久化是另外一个独立项目提供数据存储的http接口,爬虫请求该接口将数据push进去,这样分离维护比较方便,例com.hxt.webpasser.persistent.impl.VideoPushServcieImpl)

	 <!-- 抓取解析后的数据持久化 --><resultHandler target="handleResultMapInterface" classPath="com.hxt.webpasser.persistent.impl.DiskJsonHandleResult"> <property name="rootDir" value="downdir/path/jokeji" ></property> <property name="charSet" value="gbk" ></property> </resultHandler> 

6.配置写好后就可以加入任务,启动测试了。建议可以单个测试下。

 

转载于:https://www.cnblogs.com/golook/p/9495440.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_734974.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型分布式网站架构设计与实践——集群监控

一、监控指标 成熟稳健的系统往往需要对集群运行时的各个指标进行收集&#xff0c;如系统的load、CPU的利用率、I/O繁忙程度、网络traffic、内存利用率、应用心跳等。 1、load系统的load被定义为特定时间间隔内运行队列中的平均线程数&#xff0c;每一个CPU的核都维护了一个运行…

用户访问网站的完整流程

用户访问网站的完整流程在浏览器输入想要访问的域名之后&#xff0c;浏览器会进行域名解析获得IP地址&#xff0c;在经过TCP的连接&#xff0c;实现数据的传输就会有两种报文&#xff0c;及请求报文和响应报文。最终才能实现通信。因此想要实现通信&#xff0c;就得先弄懂DNS的…

使用Python Django在Ubuntu下搭建数据库型网站

最近想做一个数据库网站&#xff0c;我对Python很熟悉&#xff0c;也了解到Django很好用&#xff0c;于是说搞就搞。 首先&#xff0c;在快云上买了一个vps&#xff0c;一元试用一个月&#xff0c;Ubuntu系统。 1.安装Django apt-get update apt-get install python-pip python…

大流量网站性能优化:一步一步打造一个适合自己的BigRender插件

BigRender 当一个网站越来越庞大&#xff0c;加载速度越来越慢的时候&#xff0c;开发者们不得不对其进行优化&#xff0c;谁愿意访问一个需要等待 10 秒&#xff0c;20 秒才能出现的网页呢&#xff1f; 常见的也是相对简单易行的一个优化方案是 图片的延迟加载。一个庞大的页面…

快信达SEO记录2016.07.16

为什么80%的码农都做不了架构师&#xff1f;>>> 2016-7-16 快信达网站改版完成&#xff0c;将顶级域名301转向到www二级域名&#xff0c;友情链接0个&#xff0c;外链1个欣联盛。 seo策略规划&#xff1a; 改版后先不换友链&#xff0c;持续更新文章&#xff0c;看…

移动端页面SEO优化需要注意的10个要点

如今&#xff0c;移动互联网已经成为互联网组成的非常重要的一个分支&#xff0c;如果说以前对移动页面没有很规范的优化和高质量内容评判划分标准&#xff0c;但现在随着各大搜索引擎发布了移动建站指南&#xff0c;图文并茂的描述了如何提高移动站在百度质量度的等级&#xf…

大型网站技术架构(3):WEB 前端性能优化

为什么80%的码农都做不了架构师&#xff1f;>>> 上次说到了性能优化策略&#xff0c;根据网站的分层架构&#xff0c;可以大致的分为 web 前端性能优化&#xff0c;应用服务器性能优化&#xff0c;存储服务器性能优化三大类 这次来说一下 web 前端性能优化&#xf…

借助GitHub pages搭建静态个人网站并绑定域名

借助GitHub pages搭建静态个人网站并绑定域名 借助GitHub pages搭建静态个人网站并绑定域名一、简介二、准备1.注册GitHub账号2.安装好Git3.购买域名&#xff08;非必选&#xff09; 三、创建、设置GitHub pages并绑定域名1.创建仓库2.设置仓库3.进行网站开发4.域名绑定&#x…

java获取https网站证书,附带调用https:webservice接口

一、java 获取https网站证书&#xff1a; 1、创建一个java工程&#xff0c;新建InstallCert类&#xff0c;将以下代码复制进去 package com; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import j…

Gif 网站图

转载于:https://www.cnblogs.com/wwknan/p/10517552.html

PHP绿色集成环境在云服务器上的应用,PHPWAMP在服务器上搭建网站案例

问&#xff1a;什么叫WAMP&#xff1f;答&#xff1a;Windows下的ApacheMysqlPHP&#xff0c;称之为WAMP。 本文案例采用的PHP集成环境是我自己开发的纯绿色版WAMP软件&#xff08;PHPWAMP&#xff09;。 我在这款集成环境里集成的组件都是完全版的&#xff0c;适合本地调试&am…

网站使用微信扫码登录流程

微信扫码登录是一个标准的oauth 2.0的过程。 1.用户请求访问网站&#xff0c;选择微信登录。 2.redirect到微信二维码页面 3.获取微信登录二维码&#xff0c;请求参数包括本网站的appId和登录成功后跳转回的地址&#xff0c;即relaystate. 4.返回二维码网页。 5.二维码扫入手机…

大型网站提速方案(第一篇)

随着互联网的迅速发展&#xff0c;大访问量大数据库带来的访问慢逐渐成为网站发展的瓶颈&#xff0c;从动态网站的访问过程我们可以发现&#xff0c;网站提速的需要将动态网站的访问过程中的关键技术给与提速。于是就引申出了缓存技术和页面静态话技术和数据库的优化技术。 页面…

XenDesktop7实践之高可用设计④DDC安装和创建站点

XenDesktop7实践 之高可用设计 ④DDC安装和创建站点 目 录 1. 第一台Delivery Controller服务器... 1 1.1. 安装Delivery Controller. 1 1.2. 创建空站点... 7 2. 第二台Delivery Controller服务器... 15 2.1. 安装Delivery Controller. 15 2.2. 扩展部署... 15 1. 第一台Deliv…

构建Nginx网站服务

随着计算机与Internet技术的蓬勃发展&#xff0c;各种Web站点成为直接面向用户的中坚力量&#xff0c;在各种网站服务器软件中&#xff0c;除了Apache外&#xff0c;还有一款轻量级的HTTP服务器软件——Nginx&#xff0c;其稳定性、高效的特性逐渐被越来越多的用户认可。本篇博…

10个值得推荐的免费设计模板网站

2019独角兽企业重金招聘Python工程师标准>>> 对很多设计师来说&#xff0c;现成的模板无疑可以大大地提高工作的效率和质量&#xff0c;尤其是在赶项目进程的时候。然而要找到合适且免费的模板又是另外一个难题&#xff0c;这里我整理出来10个值得推荐的设计模板网站…

网站模糊测试爆破工具Wfuzz

2019独角兽企业重金招聘Python工程师标准>>> 网站模糊测试爆破工具Wfuzz 模糊测试爆破使用模糊测试的方式对HTTP请求中的各个参数同时进行猜测爆破。例如&#xff0c;渗透测试人员可以采用不同的HTTP请求方式来访问由字典生成的网页路径&#xff0c;以判断网页目录或…

干货:模板网站SEO优化技巧!

对企业来说&#xff0c;线上流量的关键就是SEO优化。模板网站是否有利于SEO优化&#xff1f;很多人会以为定制网站比模板网站更利于优化&#xff0c;其实并不全对。下面笔者就为大家解答模版网站如何进行SEO优化。模版网站不利于SEO优化吗&#xff1f;SEO优化刚流行时&#xff…

搭建静态网站

2019独角兽企业重金招聘Python工程师标准>>> 搭建Http静态服务器环境 任务时间&#xff1a;15min ~ 30min 搭建静态网站&#xff0c;首先需要部署环境。下面的步骤&#xff0c;将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务。 安装 Nginx 在 CentOS 上&am…

jvisualvm安装btrace插件,更新设置(java.net网站已关闭)

转载自&#xff1a;http://blog.csdn.net/keketrtr/article/details/74448127jdk1.7自带jvisualvm可以对java应用进行监控。其中有个插件btrace可以监控各个方法的所用时间。安装插件的步骤是打开jvisualvm&#xff0c;点击工具->插件&#xff0c;点击更新&#xff0c;发现无…