webmagic ajax,webmagic 爬虫 分页

webmagic ajax,webmagic 爬虫 分页importus codecraft webmagic Page importus codecraft webmagic Site importus codecraft webmagic Spider importus codecraft webmagic processor PageProcesso importus codecraft webmagic selector JsonP

import us.codecraft.webmagic.Page;

import us.codecraft.webmagic.Site;

import us.codecraft.webmagic.Spider;

import us.codecraft.webmagic.processor.PageProcessor;

import us.codecraft.webmagic.selector.JsonPathSelector;

import us.codecraft.webmagic.selector.Selectors;

import java.util.List;

/

* @author 

* @since 0.5.0

*/

public class YidianzixunProcessor implements PageProcessor {

private Site site = Site.me();

// . ? 等特殊符号需要加\\引用符

private static final String ARTICLE_URL = “http://www\\.yidianzixun\\.com/home\\?page=article&id=\\w+”;

public void process(Page page) {

if (page.getUrl().regex(ARTICLE_URL).match()) {

String content = page.getHtml().xpath(“//div[@class=’content’]”).toString();

//1)文章头部:1、标题、2、发表时间、3、文章来源

String content_hd = Selectors.xpath(“//div[@class=’content-hd’]”).select(content);

String title = Selectors.xpath(“//h2/text()”).select(content_hd);

String date =  Selectors.xpath(“//div[@class=’meta’]/span[@class=’date’]/text()”).select(content_hd);

String source = Selectors.xpath(“//a[@id=’source-name’]/text()/text()”).select(content_hd);

//2)文章主题

String body = Selectors.xpath(“//div[@class=’content-bd’]”).select(content);

System.out.println(body);

} else {

List results = new JsonPathSelector(“$.result[*]”).selectList(page.getRawText());

for(String result:results){

// /home?page=article&id={
{docid}}&up={
{up}}#comment

// /home?page=article&id={
{docid}} 也是可以支持

String docid = new JsonPathSelector(“docid”).select(result);

String targetUrl = “http://www.yidianzixun.com/home?page=article&id=”+docid;

page.addTargetRequest(targetUrl);

}

}

}

public Site getSite() {

return site;

}

public static void main(String[] args) {

// url的特殊符号 ‘|’ : %7C

//通过ajax判断请求的参数

String targetUrl = “http://www.yidianzixun.com/api/q/?path=channel%7Cnews-list-for-keyword&display=%E8%8A%B1%E8%8C%B6&word_type=token&fields=docid&fields=category&fields=date&fields=image&fields=image_urls&fields=like&fields=source&fields=title&fields=url&fields=comment_count&fields=summary&fields=up&cstart=10&cend=20&version=&infinite=true”;

Spider.create(new YidianzixunProcessor()).addUrl(targetUrl).thread(5).run();

}

}

相关的包

us.codecraft

webmagic-core

0.5.3

us.codecraft

webmagic-extension

0.5.3

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233105.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电子商务系统开发(笔记一)[通俗易懂]

    电子商务系统开发(笔记一)[通俗易懂]第一章 ASP.NET概述1.www的基础知识 1.1 计算机网络 ①地理位置不同的 ②具有独立功能的 ③多台计算机及其外部设备 ④通过通信线路连接起来 ⑤在 网络操作系统,网络管理软件及网络通信协议的管理和协调下 ⑥实现资源共享和信息传递的计算机系统 1.2 …

    2022年8月18日
    10
  • Java实现一个简单的冒泡排序「建议收藏」

    Java实现一个简单的冒泡排序「建议收藏」代码思路创建一个bound,(0,bound)是待排序区间。遍历数组,如果前一个的值大于后一个,交换。直到将这个最大值挪到数组的最后。代码示例importjava.util.Arrays;publicclassSort{publicvoidBubbleSort(int[]arr){//遍历数组,如果前一个的值大于后一个,交换。直到将这个最大值…

    2022年7月8日
    20
  • CreateThread 函数[通俗易懂]

    CreateThread 函数[通俗易懂]改变了栈的大小,但是把CreateThread的第2参数改成0x100000或者更小的时候,程序还是会出现这样的问题,只有将栈的大小还原为默认值,且CreateThread的第2参数为0才能正确运行详细的请查看:http://topic.csdn.net/u/20090905/15/7bf41679-3ed9-40b5-ac71-5f11c088984c.html微软在Windows

    2022年7月11日
    20
  • jquery ajax步骤,jquery ajax(ajax请求的五个步骤jQuery)

    jquery ajax步骤,jquery ajax(ajax请求的五个步骤jQuery)jqueryajaxAJAX是与服务器交流数据的艺术,它在不重载全部页面的情况下,完成了对部分网页的更新。jQueryAJAX实例请点击下面的按钮,经过jQueryAJAX改变这段文本。获得外部的内容亲身试一试什么是AJAX?AJAX=异步JavaScript和XML(AsynchronousJavaScriptandXML)。简短地说,在不重载整个网页的情况下,AJAX经过后台加载数据,并在网页…

    2022年5月17日
    34
  • sha1的加密_sha加密算法

    sha1的加密_sha加密算法fromhashlibimportsha1#给password加密s1=sha1()#创建sha1加密对象s1.update(password.encode("utf-8&qu

    2022年8月6日
    6
  • wp-login.php 404页面,wordpress404页面制作完整的正确操作流程

    wp-login.php 404页面,wordpress404页面制作完整的正确操作流程近期,看到很多SEO站长在我网站留言:为什么wordpress无法跳转正确的404页面或者404页面未找到?小L一查资料,看到搜索引擎出现的结果,有些很难让人操作和理解。于是,L氪迹SEO技术教程学习网在这里以图文形式来分享一下wordpress404页面制作完整的正确操作流程。【1、404页面模板下载】操作概述:小L在这里教大家较简单的方法,让你快速上线设置好404页面。打开你喜欢的网站的404…

    2022年7月27日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号