码迷,mamicode.com
首页 > 其他好文 > 详细

结合Excel和浏览器做爬虫

时间:2020-09-16 12:45:00      阅读:63      评论:0      收藏:0      [点我收藏+]

标签: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误报,放心使用

结合Excel和浏览器做爬虫

标签:sea   数据   ima   包含   对象   rownum   jquery   env   browser   

原文地址:https://www.cnblogs.com/charper/p/13509660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!