好友
阅读权限 20
听众
最后登录 1970-1-1
本帖最后由 lisaisacat 于 2022-7-13 12:14 编辑
开发环境:
友友编辑器版本 1.2.6
SDK 版本 1.0.2.24
Microsoft Windows 10 专业版 10.0.19043 64 位
NET Framework 4.8.4400.0
运行环境:
Chrome 浏览器
Version 102.0.5005.63 (Official Build) (64-bit)
可视化流程:
设计思路:
通过对话框设置搜索关键词和抓取页数 写入数据前先清空 Excel 文件内容 循环抓取公司名称、法人姓名、注册资本信息并写入 Excel 调整单元格宽度
关于元素:https://www.52pojie.cn/thread-1652269-1-1.html
该流程主要涉及到元素编辑器属性编辑的使用,因为企查查的网页实现方式主要用 span 网页标签实现,用相似元素会找到非常多的无关信息,于是使用了 if 判断组件来进行筛选。
当然,如果抓取的数据特征明显,还可以使用【结构化数据】+【提取文本】,使用正则表达式来实现。
代码详解:
第 1 行
标题和默认文字都是字符串格式,返回值是输入的内容
第 2 行也一样,只不过默认数字是 3(企查查免费账号最多也就看两三页),返回值是页数
第 3 行
网址使用字符串+变量拼接的:"https://www.qcc.com/web/search?key="+关键词
这里要说一下,为了实现翻页抓取数据,当前流程使用的是点击下一页元素,其实也可以通过拼接网址和页数来实现
比如第二页的网址为:https://www.qcc.com/web/search?key=%E6%B8%B8%E6%88%8F&p=2,网址也可以是"https://www.qcc.com/web/search?key="+关键词+ "p="+抓取页数
文件所在路径,需要具体到扩展名
./ 表示为相对路径
获取行数和列数,这个主要是测试用,在每次运行前把文件清空下方便查看运行效果,真正运行的时候可以把这部分禁用掉
第 9 行
抓几页就循环几次
如果要抓取多页,则点击下一页按钮
这里需要说明一下,因为第一页的时候,是没有左侧【上一页】按钮的,所以在第一页和第二页,【下一页】按钮的位置发生了变化
这就需要在抓取元素时对属性进行下编辑,才能在所有页面生效
在每次抓取完元素之后,都需要切换下页码再点击【查找验证】看看不同页面是否都能找到,找不到的话就对比看看有什么不同,通过编辑器来兼容
循环相似元素
大致流程;选择一个元素→编辑属性→选择相似元素
看看高亮的元素,如果特别多的话,会影响到运行速度
最好是通过元素属性过滤掉不相关元素
对于企查查页面的公司名称来说,倒数第三个节点的 class 可以很好的筛选出结果
但对于其他元素比如法定代表人啊地址啊就复杂的多,比如下图
编辑了倒数第一到第三个节点的 class 才勉强把范围缩小了,但仍然需要用 if 判断来继续过滤
写入 Excel
这里需要注意的是,范围选择单元格的时候,输入的内容是文本,也就是字符串格式
选择行和列,则需要输入列表格式数据
选择区域,格式则是数据表
如果单元格是个珠子,输入的内容不管是字符串还是数字,都是单个数据
行和列则像一串珠子,格式为 [单元格,单元格,单元格]
区域更加复杂,是一个横纵交错的棋盘,输入的内容是{单元格,单元格,单元格],单元格,单元格,单元格],单元格,单元格,单元格]}
最后一行就没啥可说的了,主要是为了让文档美观一点
流程源码下载:
链接:https://console.yoyorpa.com/process_share?id=q9n8BFZ5cPyRhWM7BMy6kuAmLmPjB5z2eXbRDbWQ
友友编辑器 beta 测试版(http://www.yoyorpa.com/studio)
使用方法:
友友编辑器→左上角文件→导入压缩包→选择流程项目→顶部运行
免费评分
查看全部评分
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。