webmagic使用手冊.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
webmagic使用手冊

webmagic使用手册webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。web爬虫是一种技术,webmagic致力于将这种技术的实现成本降低,但是出于对资源提供者的尊重,webmagic不会做反封锁的事情,包括:验证码破解、代理切换、自动登录等。作者黄亿华(code4crafter@ )曾经在前公司进行过一年的垂直爬虫的开发,webmagic就是为了解决爬虫开发的一些重复劳动而产生的框架。webmagic的架构和设计参考了以下两个项目,感谢以下两个项目的作者:python爬虫 scrapy /scrapy/scrapyJava爬虫 Spiderman /laiweiwei/Spidermanwebmagic遵循Apache 2.0协议,你可以自由进行使用和修改。有使用不便或者问题,欢迎在github提交issue,或者在oschina讨论模块提问。下载及安装使用mavenwebmagic使用maven管理依赖,在项目中添加对应的依赖即可使用webmagic:dependency groupIdus.codecraft/groupId artifactIdwebmagic-core/artifactId version0.4.1/version /dependency dependency groupIdus.codecraft/groupId artifactIdwebmagic-extension/artifactId version0.4.1/version /dependency项目结构webmagic主要包括两个包:webmagic-corewebmagic核心部分,只包含爬虫基本模块和基本抽取器。webmagic-core的目标是成为网页爬虫的一个教科书般的实现。webmagic-extensionwebmagic的扩展模块,提供一些更方便的编写爬虫的工具。包括注解格式定义爬虫、JSON、分布式等支持。webmagic还包含两个可用的扩展包,因为这两个包都依赖了比较重量级的工具,所以从主要包中抽离出来,这些包需要下载源码后自己编译:webmagic-saxonwebmagic与Saxon结合的模块。Saxon是一个XPath、XSLT的解析工具,webmagic依赖Saxon来进行XPath2.0语法解析支持。webmagic-seleniumwebmagic与Selenium结合的模块。Selenium是一个模拟浏览器进行页面渲染的工具,webmagic依赖Selenium进行动态页面的抓取。在项目中,你可以根据需要依赖不同的包。不使用maven不使用maven的用户,可以下载附带二进制jar包的版本(感谢oschina):git clone /flashsword20/webmagic.git在bin/lib目录下,有项目依赖的所有jar包,直接在IDE里import即可。第一个爬虫定制PageProcessorPageProcessor是webmagic-core的一部分,定制一个PageProcessor即可实现自己的爬虫逻辑。以下是抓取osc博客的一段代码:public class OschinaBlogPageProcesser implements PageProcessor { private Site site = Site.me().setDomain() .addStartUrl(/flashsword/blog); @Override public void process(Page page) { ListString links = page.getHtml().links().regex(http://my\\.oschina\\.net/flashsword/blog/\\d+).all(); page.addTargetRequests(links); page.putField(title, page.getHtml().xpath(//div[@class=BlogEntity]/div[@class=BlogTitle]/h1).toString()); page.putField(content, page.getHtml().$(div.content).toString()); page.putField(tags,page.getHtml().xpath(//div[@class=BlogTags]/a/text()).all()); } @Override public Site getSite() { return site

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档