首页 > 其他分享 >webMagic静态页面的爬取

webMagic静态页面的爬取

时间:2024-10-31 15:45:06浏览次数:1  
标签:putField 静态 抓取 page webmagic webMagic public 页面

 

一:java maven依赖:

<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.4</version>
</dependency>
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.4</version>
</dependency>

二:示例代码:

public class GithubRepoPageProcessor implements PageProcessor {

// 部分一:抓取网站的相关配置,包括编码、抓取间隔、重试次数等
private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);

@Override
// process是定制爬虫逻辑的核心接口,在这里编写抽取逻辑
public void process(Page page) {
// 部分二:定义如何抽取页面信息,并保存下来
// page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString());
page.putField("name", page.getHtml().xpath("//h2/text()").toString());
if (page.getResultItems().get("name") == null) {
//skip this page
page.setSkip(true);
}
// page.putField("readme", page.getHtml().xpath("//div[@id='readme']/tidyText()"));

// 部分三:从页面发现后续的url地址来抓取
page.addTargetRequests(page.getHtml().links().regex("http://showdoc.external.rongyi.so/web/#/1?page_id=326").all());
}

@Override
public Site getSite() {
return site;
}

public static void main(String[] args) {

Spider.create(new GithubRepoPageProcessor())
//从"https://github.com/code4craft"开始抓
.addUrl("http://showdoc.external.rongyi.so/web/#/1?page_id=326")
.addPipeline(new JsonFilePipeline("D:\\webmagic\\"))
//开启5个线程抓取
.thread(1)
//启动爬虫
.run();
}
}

标签:putField,静态,抓取,page,webmagic,webMagic,public,页面
From: https://www.cnblogs.com/maohuidong/p/18517968

相关文章

  • WebMagic动态页面爬取
    动态页面爬虫前的准备:https://www.cnblogs.com/maohuidong/p/18517953一:javamaven添加依赖:<dependency><groupId>us.codecraft</groupId><artifactId>webmagic-core</artifactId><version>0.7.4</version></dependency>&......
  • 界面控件Kendo UI for Angular 2024 Q3亮点 - 全新的页面模板
    随着最新的2024Q3版本,Progress使用户能够使用现成的页面模板和构建块更快地构建令人惊叹的应用程序,使您的Telerik和KendoUI开发体验更好。Telerik和KendoUI 2024Q3版本将焦点放在新推出的页面模板和构建块上,每个页面模板和构建块都预先配置了TelerikUIforBlazor、KendoU......
  • edge浏览器如何打开不安全页面的禁止权限?
    第一步解决edge浏览器中站点不安全问题的方法1、首先,我们点击打开edge浏览器,然后将我们的浏览器右上角的【…】图标点击打开。2、这时,我们在打开的窗口中,将【设置】选项进行点击一下。3、随后进入到设置页面中,我们将左侧的【cookie和网站权限】选项进行左键点击一下。4、这......
  • 『玩转Streamlit』--页面布局
    一个优秀的数据应用不仅仅是功能的强大,更在于其用户体验的打造。而良好的页面布局,作为用户体验的重要组成部分,不仅能够提升信息的可读性,还能引导用户高效地完成操作。反之,混乱的布局会让人感到困惑和挫败,甚至导致用户放弃使用应用。在Streamlit中,Sidebar(侧边栏)、Columns(列布局)......
  • 访问网站404页面时出现301报错
    主机上设置了404错误页面,但在访问网页时,却出现了301报错。这是因为主机域名开启了强制HTTPS加密访问功能,导致服务器在处理HTTP请求时,先返回301状态码并自动跳转到HTTPS请求,然后再去请求404错误页面资源,从而导致301报错。可能原因强制HTTPS加密访问功能:当您对网站服务器发出一个......
  • html网页制作在线电影网页设计-html电影资讯博客网站模板(5个页面)
    html网页制作在线电影网页设计-html电影资讯博客网站模板(5个页面)一款黑色响应式的电影新闻资讯(首页/电影/明星/热点/新闻)等页面,电影热点资讯,电影博客类型网页模板html,html网站期末作品~电影资讯博客网站模板(HTML+CSS+JavaScript)涵盖个人、电影、美食、动漫、公司、......
  • 第七章利用CSS和多媒体美化页面
    通过对网页中元素、布局和色彩的合理设计,可以使网页达到较好的视觉效果。网页中常用超链接、列表和表格等网页元素,所以,对这些元素进行美化,可以大大提高网站的质量。尤其是多媒体元素的加入,使网页更加丰富多彩。7.1CSS链接的美化在前面的章节中,已经学习了超链接的简单知识......
  • ios input 键盘收起页面底部有间隙没有自动还原
    1.ios  input键盘收起页面底部有间隙没有自动还原解决办法:最外层元素增加fixed布局即可2.ios input输入页面会放大,收起时页面不自动还原解决办法input字体设置最小为16px即可3.网页标签切换获取切换状态document.addEventListener("visibilitychange",visibleChange......
  • 第七章 利用CSS和多媒体美化页面
    7.1CSS链接的美化1.文字链接的美化代码<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title>示例7.1</title> <style> #menu{ text-align:center; /*div内的元素水平居中*/ } a{ margin:10px; ......
  • 【Nginx学习】5步轻松搞定:用Nginx配置一个静态Web服务器,文件路径定义你真的会了吗?
    ......