标签:sea 数据 ima 包含 对象 rownum jquery env browser
今天用Excel浏览器脚本助手,做一个简单的爬虫.
原理就是操控浏览器,登录网站,用js获取Dom元素的内容,保存到Excel中.
以天眼查为例:
var DesktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);//获取桌面目录 var filePath = Path.Combine(DesktopPath, "天眼查取数据.xlsx");//文件路径 Command.Excel.Create(filePath);//创建文件 var workbook = Command.Excel.OpenExcel(filePath);//打开文件 var page = Command.Browser.AddPage("www.tianyancha.com");///打开天眼查网站 page.Query("#home-main-search").val("河北省 科技公司");///输入要查询的字符 page.Query(".input-group-btn.btn.-xl").click();//点击查询 var CurrentEditRowNumber = 1;///当前Excel填入行 for (int i = 0; i < 7; i++) ///7页 { page.WaitForPageLoadEnd();///等待网页加载完成 var searchContainer = page.Query(".result-list.sv-search-container");///用jQuery查找列表的包含框 var Singels = searchContainer.find(".search-result-single");///用jQuery的find找到列表的集合 Singels.each((index, element) => { ///遍历集合,相当于jquery的each var JqElementCompany = element.frame.Query(element); //获取单项,再包装成Jquery对象 var CompanyName = JqElementCompany.find(".header a").text(); ///获取公司名称 var CompanyState = JqElementCompany.find(".header>div").text();///公司状态 var 企业类型 = JqElementCompany.find(".tag-list").text(); var 法人 = JqElementCompany.find(".legalPersonName.link-click").text(); var 注册资本 = JqElementCompany.find(".title.-narrow.text-ellipsis>span").text(); var 成立日期 = JqElementCompany.find(".title.text-ellipsis:contains(成立日期)>span").text(); var 联系方式 = JqElementCompany.find(".contact.row>.col").text(); var 其他信息 = JqElementCompany.find(".match.row.text-ellipsis").text(); workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[1].Value = CompanyName; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[2].Value = CompanyState; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[3].Value = 企业类型; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[4].Value = 法人; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[5].Value = 注册资本; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[6].Value = 成立日期; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[7].Value = 联系方式; workbook.ActiveSheet.Rows[CurrentEditRowNumber].Cells[8].Value = 其他信息; CurrentEditRowNumber++;//下一行 }); var BtnNext = page.Query(".search-pager li a.num.-next");///网页中下一页按钮 BtnNext[0].click();///a标签不能用Jquery的click.转换为原生元素再click }
蓝奏云下载:https://aodi.lanzous.com/ixWi3gb3gof
360误报,放心使用
标签:sea 数据 ima 包含 对象 rownum jquery env browser
原文地址:https://www.cnblogs.com/charper/p/13509660.html