一、目标:
爬取博客园上的所有文章的标题,爬取不同页码的文章,将其在控制台输出。
二、要点:
模拟POST请求。实际请求地址。
三、步骤:
-
按F12查看源码,发现翻页处链接没有具体链接而是动态的地址,即在此页面不能直接取到所有的网页链接。

-
点击翻页后按 F12 查看源码可发现实际请求地址。

-
模拟POST请求。
//模拟POST请求
Request request = new Request(URL_LIST);
request.setMethod(HttpConstant.Method.POST);
//点击post请求右键选择复制 post 数据
request.setRequestBody(HttpRequestBody.json(
"{CategoryType:'SiteHome',ParentCategoryId:0,CategoryId:808,PageIndex:"+
pageNum +",TotalPostCount:4000,ItemListActionName:'PostList'}",
"utf-8"));
四、代码:
package byMyself;
import java.util.List;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Request;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.model.HttpRequestBody;
import us.codecraft.webmagic.processor.PageProcessor;
import us.codecraft.webm

本文介绍如何使用Java爬虫Webmagic来抓取博客园的动态列表页内容,通过模拟POST请求获取不同页码的文章标题,并在控制台输出。详细讲述了查看源码确定实际请求地址和实现模拟POST的步骤。
最低0.47元/天 解锁文章
3239

被折叠的 条评论
为什么被折叠?



