v0.6.0
版本发布时间: 2023-12-24 11:13:20
NaiboWang/EasySpider最新发布版本:v0.6.2(2024-04-22 06:37:17)
如果下载速度慢,可以考虑中国境内下载地址:中国境内下载地址。
Windows x64版本支持64位的Windows 10/Windows Server 2016及以上系统,Windows x32版本支持所有位数(32位和64位)的Windows 7及以上系统,即64位的Windows 7也要下载x32版本的EasySpider使用。 注意x32版本的EasySpider的Chrome浏览器永远都是109版本,不会随着Chrome版本更新而更新(为了兼容Windows 7系统),因此如果想用最新版Chrome浏览器采集数据,请在Windows 10 x64及以上系统上运行x64版本的软件。无任何版本支持Windows Server 2012及以下版本系统,这些系统下需要自行编译运行。
The Windows x64 version supports Windows 10/Windows Server 2016 and above with 64-bit, while the x32 version of Windows supports all versions (32-bit and 64-bit) of Windows 7 and above, meaning that the 64-bit version of Windows 7 should also download x32 version of EasySpider. Note that the Chrome browser in this x32 version of EasySpider is always version 109 and will not update with Chrome updates (to maintain compatibility with the Windows 7 system). Therefore, if you want to collect data with the latest version of the Chrome browser, please run the x64 version of the software on Windows 10 x64 and above systems. There is no version support for Windows Server 2012 and below. These systems require manual compilation for execution.
MacOS版本压缩包请用系统自带的归档使用工具
解压,MacOS版本支持所有芯片组,包括Apple自研芯片(如M1,M2)和Intel芯片(如酷睿i7),注意下载对应版本的程序,且操作系统最低版本要求为11.1,更低操作系统版本请下载v0.2.0版本的Mac版使用,或自行下载代码并编译,示例编译方式看这个issue。
For the MacOS version, please use the system's inbuilt software Archive Utility to unzip the .7z file. The MacOS version supports all chipsets, including Apple's self-developed chips (such as M1, M2) and Intel chips (such as Core i7). Ensure you download the correct version of the program, and note that the minimum required version for the operating system is 11.1. For lower operating system versions, please download the code and compile it yourself. An example compilation method can be found in this issue.
同理,Linux版只适用于Ubuntu 20.04及以上版本、Deepin、Debian及其衍生版本,如想使用其他Linux发行版采集数据,请自行下载代码并编译,如CentOS系统编译示例看这个issue。
Similarly, the Linux version is only suitable for Ubuntu 20.04 and above, Deepin, Debian, and their derivatives. If you want to collect data using other Linux distributions, please download the code and compile it yourself. For an example of compiling on CentOS, see this issue.
请划到本节最下方以下载EasySpider。
Please scroll down to the bottom of this section to download EasySpider.
本版本相关教程 | Tutorial of this version
无下一页按钮只有具体页面按钮时的翻页方法(EXEC和EVAL教程)| Paging method when there is no 'next page' button, only specific page buttons (EXEC and EVAL tutorial)
操作台挡住登录页面的处理办法 | Solution for the toolbox blocking the login page
循环次数设定(包括无限循环)及检测到页面内容才提取数据 | Set the number of iterations (including infinite loops) and extract data only when page content is detected
更新说明 | Update Notes
For English version of update notes, please see: https://github.com/NaiboWang/EasySpider/wiki/Update-notes-of-version-0.6.0
-
在任务设计阶段,打开浏览器的情况下,单击相关操作后浏览器会自动标记映射对应元素方便用户调试,任何和浏览器相关的操作均可调试,包括JavaScript命令调试以及条件分支自动检测是否满足条件,自动标记元素等。
-
在任务设计阶段,打开浏览器的情况下,双击相关操作后将试运行该操作以进行动态调试,并将执行结果实时显示在浏览器中:
-
加速:对于循环提取数据的操作,如果没有额外的如执行JS,下载图片等操作,数据提取的速度将会得到极大的提升。
-
用eval功能动态修改XPath和代码片段:在任意的XPath,JavaScript代码片段中,均可以使用
eval("表达式值")
来直接表示python环境中的表达式,无需用自定义操作储存变量做中转,示例:
-
用自定义操作的exec选项定义一个变量a:
self.a = 1
-
在提取数据的操作中的XPath中,使用下面的值来表示/html/body/div[1]:
/html/body/div[eval("self.a")]
-
再次使用自定义操作的exec选项改变a的值:
self.a = self.a +1
-
则此时提取数据的XPath将会变为/html/body/div[2]
适用于以下没有下一页按钮只能依次点击不同页码翻页的场景,查看示例教程。
- 所有的Exec和Eval选项可选择外挂代码文件,可在本地用IDE如VSCode写好Python代码之后,直接在任务输入框写入
outside:myCode.py
,程序将会读取并执行EasySpider目录下的myCode.py中的代码,此功能适合执行大量代码需要IDE辅助的场景。
注意EasySpider支持自定义Python函数,引入外部Python包以及使用try...except...进行异常处理等操作。
- 输入文字(包括批量输入文字)操作同样可以使用
eval("Python代码")
关键词来输入任务执行时由Python程序动态生成的输出值;同时,还支持使用JS("return JS代码")
关键词来输入由JavaScript动态生成的文本内容(JS代码不能换行),例如,使用JS("return new Date().getMonth()+1")/2023
来输入“当前月份/2023”,即输入:12/2023
(2023年12月时的输入值):
-
可以处理多层嵌套的iframe,体验和无iframe时相同,但需要注意的是XPath需设定为只有指定iframe页面中才能定位到的XPath,因此类似
//body
这种XPath将只会定位到第一层iframe中的body标签。 -
在设计完提取数据操作后,浏览器操作台将提示是否要进行进一步的翻页操作,此时可以指定翻页按钮位置,流程图中将自动生成好带翻页功能的提取数据操作:
-
浏览器操作台新增批量输入文字功能,将自动生成带文本列表的循环操作。
-
提取数据操作设置是否作为新的一行存储,如果为否,则不生成新行而是暂时将数据存储下来,等待其他提取数据操作生成新行的操作一起作为新的一行,适用于列表联动的场景:#35,#189。
-
自定义操作增加暂停程序执行功能,用于在弹出验证码等页面时自动暂停等待用户手动验证码等操作。
-
自定义操作增加刷新页面操作。
-
自定义操作新增发送邮件功能。
-
点击元素操作可进行Alert弹窗处理,可选择接受或拒绝弹窗。
-
并行多开优化:对于带用户信息的浏览器的执行模式,执行时改为先复制用户目录后再执行的模式,以解决并行多开问题,现在可直接多次点击任务执行(带用户信息模式)按钮或同时运行多个命令行程序来并行执行带用户信息模式的任务,无需手动复制多个用户信息文件夹。任务执行完成后将会自动删除复制的用户信息文件夹(如果中途手动退出,则需要手动删除
TempUserDataFolder
文件夹下的用户信息临时目录)。 -
各种操作的名称将会根据场景自动匹配和修改,省去了修改操作名称的繁琐,如点击元素和移动到元素的默认名称更改为点击/移动到的元素的文本值,循环操作按照循环类型更名,以及切换自定义操作/循环/条件分支类型时自动更名等。
-
对于单个元素循环,如一直点击翻页按钮的循环,检测内容不变的条件值可以仅仅限制在检测某个元素的内容而不是整个页面的内容。
-
文件默认下载地址更改为任务文件夹内。
-
新增条件分支改为增加到最右侧。
-
可在流程图任意操作操作点击右键弹出右键菜单,即可试运行(调试运行),复制,剪切,删除元素以及调整条件分支的前后顺序。
-
操作提示框增加右下角关闭提示,适用于登录时二维码被遮挡的情况,可点击右下角×关闭操作台:
- 保存任务时,可自定义暂停/控制按键,实现不同的多开程序使用不同的按键来控制暂停/继续。
- 保存任务时,可设置任务运行时是否最大化浏览器窗口再运行任务。
- 保存任务时,可设置写入模式为数据覆盖模式,此时每次执行相同任务ID的任务,都会先删除源文件再重新采集(需要文件名设置为静态文件名)。
- 写入MySQL数据库时,当遇到重复数据时,忽略此条数据并继续运行,适用于不想要插入重复数据的场景(需要自行设定数据库表格主键为指定字段,否则按照EasySpider自己设计的表格,主键为自增ID,不会出现重复数据的情况)。
- 增加data:base64类型的图片下载功能,并可以处理需要登录才能下载的图片(不一定全部有效)。
- 更好的异常处理,防止采集过程中意外中断,中断会重试,如历史记录回退的bug修复,查看循环次数设定(包括无限循环)及检测到页面内容才提取数据的教程。
- 支持对提取的数据字段进行自动换行操作,如长文章采集自动换行。
- 带用户信息模式浏览器窗口可记录上次设计任务时的浏览器位置,而不是每次都和流程图对半分屏幕。
- 点击元素增加可根据坐标点击元素,适用于点击空白区域关闭某些窗口/对话框的场景,如空白处的坐标为(10, 10)即可在点击元素XPath处写:point(10, 10)表示点击网页坐标(10, 10)。
- 可选择是否在数据采集完成后去除重复数据,注意此功能需要等到任务结束时执行,因此执行任务中途退出将无法进行去重!!!
- 可在不固定循环列表/固定循环列表/文本列表/网址列表循环中,设置跳过前n次循环,适用于任务中途断开不想从头开始任务的场景。
- 执行任务时,可以手动指定任务ID,则此时点击“直接执行”或“获取ID”按钮时,将不会生成一个新的任务ID,而是使用自己指定的ID号,如果指定的任务ID曾经存在过则任务调用文件将会被覆盖,适用于重新修改任务流程后,不想以新的任务ID开始任务,而是想要继续追加写入原任务ID文件夹中文件的场景。
- ddddocr库升级。
- 软件UI更新。
- Chrome浏览器版本升级为120。
1、 EasySpider_0.6.0_Linux_x64.tar.xz 325.4MB
2、 EasySpider_0.6.0_MacOS_Apple_Arm_Chip.7z 732.09MB
3、 EasySpider_0.6.0_MacOS_Intel_Chip.7z 785.72MB
4、 EasySpider_0.6.0_windows_x32.7z 230.04MB
5、 EasySpider_0.6.0_windows_x64.7z 283.15MB