-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
记录下待开发的功能,大家也可以来提想要的功能 #25
Comments
刚刚接触,代码上的初步意见: |
感谢,都是非常好的建议。 |
能不能考虑把采集到的内容直接发布到常用的网站类型中,谢谢! |
这属于衍生需求,有很多工具可以做,参考:https://www.zhihu.com/question/52240701 因此暂时不考虑。 |
加上打印日志功能 |
1.列表页字段和详情页的字段能对应上; |
采集下来数据的CSV文件的列表头(对应于任务信息当中输出参数的参数名称)的各个字段名称,能否根据采集者的意愿在任务中做配置,从而自动修改? |
能不能说详细一点什么叫做自动修改,现在各个字段的名称是可以手动修改的。 |
所谓自动,就是我们事先在任务当中配置好该怎么修改,之后,执行完任务,采集下来的数据已经是按照我们事先的设定改好了,而不需要我们去手动在CSV或Excel文件中修改列表头,这就是我所谓的自动。 你提到的现在可以手动修改是指在任务配置过程中就修改好了是吗?如果是在任务配置过程中修改就修改好了,逻辑上就已经是我讲的自动修改的意思了。 我之前用八爪鱼用的很多。八爪鱼当中,列表头的字段名称是可以按照采集者的想法进行任意修改的。你的视频我没时间看。我是昨天一边做别的事,一边一口气听完的,中文的听了16集。软件没上手练,界面可能不熟悉。因为没听到说可以改列表头的这个说法,所以我以为列表头不能在任务配置文件中改呢。 |
表头可以在设计时改。 |
作者您好,我想提一个关于对 采集到的数据处理的一个 小建议 |
谢谢建议,这个程序设置的初衷是为那些不会写代码的朋友准备的,没想到发布后会有很多人想要写入数据库这种程序员级别的操作。 因为CSV转DB或者写入SQL数据库这个操作已经有很多开源实现,如:https://github.com/simonw/csvs-to-sqlite 因此这个功能属于边缘功能,大家如果想写入数据库总会找到办法,因此这个功能暂时不会考虑开发。 我倒希望有朋友能提交Pull Request,帮我一起完善这个软件,很遗憾发布了一个多月还没有有效的PR提交,一个人维护一个项目实在有些力不从心,将来我个人的重点也会主要集中在核心功能的开发上,至于写入数据库这种边缘功能,期待有朋友帮我做。 谢谢建议~ |
目前发现还是变量这块不太行(如果实现了,麻烦也告知一下)
再就是,编辑器部分建议优化为可以拖动那种操作,虽然目前也够用,但是第一次上手还是不太符合直觉 |
能支持下载网页中的文件么?例如PDF |
最新版本特性里就写了可以下载pdf…… |
不好意思,只注意看教学视频了。 另外还有一个建议,对于采集多个页面文章的情况下,默认会把文本合并到输出的csv文件里。那么能否在提取数据的设置里增加一项用户自定义分隔项,例如我可以把每篇文章的文本用<|endoftext|>分隔。 |
这个在提取数据操作前用JS操作一下就行了,可以参考下面这个视频: |
这样试了不行: 这个需求抽象来说就是: |
先找到你的
然后把上面自定义操作的名称改成和上面“提取页面文本”操作里一样的字段名称,如 |
这个办法生效,就是它还是会在csv首行生成一个同名列。如果后续需要处理,例如使用pandas.read,还需要人工去删除一下。 |
OK,这个bug会在下一个版本修复。 |
搞个无头模式,最好能docker运行 |
无头模式现在就有。 |
能不能加个关闭当前标签页,我点开链接都是新的标签页,导致没法后退,循环立马就断了 |
没法后退导致循环断不知道你是怎么设计的,理论上不太可能。 如果想关闭标签页,添加自定义操作,命令值为: |
把你的任务文件发我邮箱:[email protected],我去帮你看下 |
遇到一个问题,当爬取安全证书过期的时候,浏览器会自动跳出安全提示,在selenium里面有对网站安全问题进行忽略的指令,但在v0.6.0里目前找不到合适的方式,除了暂停后手动操作 |
可以下载源码后加上那条忽略指令试试行不行,如果可以也欢迎提交pull requests合并代码。 |
我们招标代理经常需要查询某单位或者某个人的证书真伪,在同一网站上输入不同的信息,纯机械劳动。 |
请仔细查阅文档和教程,从Excel读取的功能早就支持了。 |
双击操作什么时候能推出呢?或者说能不能提供自定义操作的代码 |
期待 docker 版本和 webUI 发布 |
有没有只爬API的办法啊,不开浏览器,我在现在的版本里没找到类似的操作,各位老师有知道的烦请告知一下哦,谢谢 |
能不能把容器化开发提上日程,现在环境受限,长期开机的也就arm小主机,win版不那么实用呀 |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
能不能给软件添加夜间模式啊,软件用着不错,但白色背景眼睛看着不舒服 |
构建Docker镜像和Web前端页面,可以远程访问,调用和执行服务器的爬虫任务;通过http调用的方式直接执行任务。 这个急需啊,现在做了计划任务。但同时只能跑一个任务。而且我不好判定当前的任务是否完成。现在只能租略的加机器来处理这个问题。最好是有一个主控,可以做所有的定时,把任务分发到相应的机器上,最好是Docker,这样部署在K8S里就可以按需自动加Pod了,现在浏览器是用的Docker做的。但是感觉效果不大。因为请求端也不能一台机器上同时跑。 还是要感谢大神提供这么优秀的作品。确实省了不少的时间来做采集。 |
采集图文文章时,innerHTML中希望可以加入一个,可以过滤标签的功能。希望能优化下:如这篇文章:https://www.dongchedi.com/article/7238974191096152615,只需要p标签和img,如果用之前视频教程的方式图文已经分开了。希望把一个字段里面有文本和img标签,这样另存doc方便些 |
希望能增加指定采集的网页窗口和关闭指定的网页窗口,采集完关闭新开的窗口/网页 |
能否增加一个这种功能: 好像这个软件不能读取抓取的数据文件的内容。所以好像不太容易实现这个功能。也有可能是我用的不熟练。这个软件已经能够实现了,就是我不会用而已。 |
需要爬取小说网站,想要一本小说一个页面保存一个txt,而且文件名可以是网页标题,现在的话是把所有小说都合并成一个文件了,可以新增这个功能吗 |
您好,您发送的邮件已收到,会尽快给你回复。
|
提取数据时发现xpath显示不正确,后来发现是 shadow dom ,用xpath无法抓,有解决方案吗 |
导出为.py |
您好,您发送的邮件已收到,会尽快给你回复。
|
希望增加详情页的url和html能直接调用外部接口解析和存储。 |
可以通过api调用执行任务吗 |
您好,您发送的邮件已收到,会尽快给你回复。
|
希望分享其中涉及到的反反爬技术 |
您好,您发送的邮件已收到,会尽快给你回复。
|
目前的各个环节(如设计和执行、流程和采集)的UI有点割裂,比如设计完任务要先保存任务,关闭页面,回到首页,然后点击三次或以上才能执行(相比之下八爪鱼执行当前任务只需在同一界面下点击两次),有些页面完全是多余的(如每次进入都要选择中英文)。能否参照八爪鱼或Parsehub等做一下UI的优化?谢谢! |
建议支持file://协议,爬取本地html,html是通过js动态加载的 |
希望增加分屏设置,其他软件在启动器在目标路径后加上 -monitor2 就可以稳定在2屏启动,另外,希望启动器打开的任务浏览器也一同绑定到一个屏幕;现在我把软件移动到2屏,在2屏打开,主界面、任务打开的浏览器还是在主屏打开。谢谢大佬。 |
您好,您发送的邮件已收到,会尽快给你回复。
|
以下功能会在有空的时候集中开发,大家有什么想要的功能也可以提issues留言,也欢迎大家fork之后帮我开发并提交pull request~
这部分是长期开发计划:
设计阶段通过outside:code.js来加载JS代码,并暴露交互接口方便和设计阶段的程序交互。
接入cms。
m3u8下载。
智能检测主要内容块并标记选中,思路:先滚动直到到达5次没有新内容加载,然后根据网页中的html内容,检测最大的块(子元素结构一致且数量最多的块)作为主要块,并自动选中子元素。
另一种思路:将整个网页每个节点的具体内容替换成长度的数字,然后分析这个树,根据字数长短寻找最佳块。占比面积最大的块是什么,标记清楚(硕士论文最早的一章)。
引入大语言模型,用于分析页面主要内容及识别验证码等,如将图片类验证码转换为文字后,用大语言模型/多模态模型过验证码。
构建Docker镜像和Web前端页面,可以远程访问,调用和执行服务器的爬虫任务;通过http调用的方式直接执行任务。
Oracle/Sql Server/MongoDB/Postgre数据库入库功能。
iframe层数设置。
循环和提取数据可以不止选择第一个元素。
底层框架可以考虑换playwright。
操纵扩展页面。
手机APP采集支持。
插件版本的EasySpider处理CloudFlare等极端网站。
任务列表排序和搜索。
拼接后给XPath最终是多少的提示。
插件测试,saveData()之前过一个全局插件用来处理数据为其他指定格式,如导入翻译插件(新导包的路径依赖怎么做),试一下是否可以将self.替换成其他的如browser.就可以完成指定任务。
命令行默认为local模式。
数据写入模式中增加文件已存在自动重命名,下载文件同名情况下重命名(多线程测试,keyboard参数测试,采集速度测试,两个相同任务ID同时下载文件测试)。
cookies池功能。
自定义操作新增“生成新数据行”,“清空字段值”,“退出程序”的操作。
自定义操作新增“切换标签页”,“关闭当前标签页”,“最大化窗口”的操作,循环文本列表同样需要处理标签页。
试运行JS增加提示返回值功能。
提取数据操作试运行可以实时显示多数类型的元素提取值。
字段内容示例值很长时自动换行。
MacOS下循环点击每个链接的Bug修复。
判断条件增加多个值,与或都行。
操作台增加OCR识别图片选项。
下载的图片名称可自定义,用于后续读取图片方便验证码识别等。
出一期设计阶段不用自带浏览器设计的教程(不能自动点击和输入文字)。
文心一言测试。
PDF生成。
文章生成doc,图片插入到文字中保持顺序不变。
保存任务提示时间减少。
操作备注。
循环的XPath也可以使用上层循环做拼接。
可选是否加载图片和视频以提高效率。
(Bug修复)打开网页默认应该打开的是链接池的第一个链接。
双击操作。
mysql数据去重bug:1054, unknown column '_id' in 'field list'.
字段设置为常量。
Shadow-root处理。
下载文件是否自动重命名选项。
动态调试//text()[1]可以爬到但是动态调试匹配不到
(在不可优化的情况下,如设置了换行的需求)当一个XPath可以匹配到多个元素时,改变逻辑从只提取第一个匹配到的元素到提取所有匹配到的元素并合并文本。
356.json
Docker模式下带用户信息模式的Bug修复。
操作台关闭后可以重新打开。
EasySpider主程序没开时,运行执行阶段程序会报错,把这个错误提示出来,即提示用户主程序没开不能使用local的remote功能。
用getHTML()来解决shadowroot提取的问题。
The text was updated successfully, but these errors were encountered: