企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
有的网站是前端渲染的网页,这种情况下就无法用网络请求的方式获取数据,这里要用到自动化模式。 <br/> 先看一下这个网站 https://down.gamersky.com/Special/bigpc/ 列表是js渲染的 直接上代码 ``` package main import ( "github.com/PeterYangs/article-spider/chromedpSpider" "github.com/PeterYangs/article-spider/fileTypes" "github.com/PeterYangs/article-spider/form" ) func main() { f := form.Form{ Host: "https://down.gamersky.com", Channel: "/Special/bigpc/", Limit: 2, WaitForListSelector: "body > div.Mid > div.Mid2 > ul > li:nth-child(1)", ListSelector: "body > div.Mid > div.Mid2 > ul > li", ListHrefSelector: "div.tit > a", DetailFields: map[string]form.Field{ "title": {Types: fileTypes.SingleField, Selector: "body > div.Mid > div.Mid2 > div.Mid2_L > div.Mid2L_ctt.block > div.Mid2L_actdl2 > div.tit"}, "img": {Types: fileTypes.SingleImage, Selector: "body > div.Mid > div.Mid2 > div.Mid2_L > div.Mid2L_ctt.block > div.Mid2L_actdl2 > div.game > div.img > img", ImageDir: "demo"}, }, NextSelector: "#pe100_page_jdgame > a.p1.nexe", } chromedpSpider.Start(f) } ``` 与其他模式不同 * **Channel**不需要替换页码,**PageStart**不需要填写 * **WaitForListSelector**是列表等待选择器,当此标签出现时才会进行下一步 * **NextSelector**下一页选择器 * 调用**chromedpSpider**开始运行,此模式基于[chromedp](https://github.com/chromedp/chromedp)