教程:最好的PHP IDE和PHP文本编辑器合集
优采云 发布时间: 2022-12-16 12:29教程:最好的PHP IDE和PHP文本编辑器合集
曾德工作室
许多开发人员都使用过 Zend Studio,毕竟它作为最好的 PHP IDE 之一享有盛誉。拥有强大的专业编辑工具和调试工具,支持PHP语法高亮,支持语法自动填充,支持书签,支持语法自动缩进和代码复制,内置强大的PHP代码调试工具,支持本地两种调试模式,远程远程,支持多种高级调试功能。Zend Studio 可以在 Linux、Windows、Mac OS X 上运行。
打开科莫多项目
Open Komodo 项目是一个相当独特的 PHP IDE。IDE运行在Windows、Mac OS X和Linux上,支持常见的开源语言——Perl、PHP和Ruby。代码智能引擎非常可靠。它扫描所有语言安装以查找自定义扩展,例如 PEAR 模块。在项目端,它支持与CVS、Subversion和Perforce的集成,也允许将代码直接通过FTP传输到服务器。
网豆
NetBeans IDE 是适用于 Windows、Mac、Linux 和 Solaris 的开源集成开发环境。除了完全支持所有 Java 平台(Java SE、Java EE、Java ME 和 JavaFX)之外,NetBeans 还是 PHP、Ajax 和 JavaScript、Groovy 和 Grails、Ruby 和 Ruby on Rails 以及 C/C++ 软件开发的理想工具.
杰尼
Geany是一个跨平台的轻量级开源集成开发环境,非常轻量和快速。它只有一小部分功能需要依赖其他包,其目标是像KDE、GNOME等桌面软件一样独立。只要有GTK2运行环境就可以运行。
阿普塔纳(日蚀)
Aptana Studio 是一个集成的Web 应用程序开发环境,既可以作为独立程序运行,也可以作为Eclipse 插件运行。AptanaStudio 可以支持各种 AJAX 和 JavaScript 工具包,包括 JavaScript 编辑和调试。
PHP设计师
Php Designer不仅支持php,还支持html、xhtml、xml、css和javascript、vbscript、java、c#、perl、python等其他网页语言!
GNU Emacs
GNU Emacs 是一个高度可扩展的文本编辑器家族,在程序员和其他主要从事技术工作的计算机用户中很受欢迎。EMACS,Editor MACroS(编辑器宏)的缩写,最初由理查德·斯托曼(Richard Matthew Stallman)于1975年与Guy Steele在麻省理工学院完成。这个想法的灵感来自 TECMAC 和 TMACS,这是由 Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston 等人编写的宏文本编辑器。
PHP编辑
PHPEdit是Windows下优秀的PHP脚本IDE(集成开发环境)。该软件提供了多种工具,用于快速方便地开发 PHP 脚本。其功能包括:语法关键词高亮显示;代码提示,浏览;集成PHP调试工具;帮助*敏*感*词*;自定义快捷方式;超过 150 个脚本命令;键盘模板;报告*敏*感*词*;快速标签;插件等。
编辑火箭
EditRocket 是一款功能强大的代码编辑器,支持 20 多种语言,包括 HTML、PHP 和 CSS、java script、Python、Ruby、Perl、XML、C、C++、Shell Script。
记事本++
Notepad++是一款免费开源的Windows代码编辑器,支持语言:C、C++、Java、C#、XML、HTML、PHP、Javascript等!Notepad++不仅有语法高亮,还有语法折叠,支持宏和扩展基本功能的插件模块。
vim
Vim 是一个类似于 Vi 的文本编辑器,但是它在 Vi 的基础上增加了许多新的特性。Vim 被公认为最好的类 Vi 编辑器。事实上,真正的竞争对手来自 Emacs 的不同变体。. 1999 年,Emacs 被选为 Linuxworld 文本编辑类别的冠军,Vim 位居第二。但在 2000 年 2 月,Vim 获得了 Slashdot Beanie 的最佳开源文本编辑器奖,将 Emacs 推到了二线。总的来说,Vim 和 Emacs 也是非常优秀的文本编辑器。
NVU
Nvu(发音为N-view)是一个所见即所得的网页处理系统,它是免费软件,基于Mozilla的Composer Mode。它的目标是与Microsoft FrontPage、Macromedia Dreamweaver等商业网站开发工具竞争,成为Linux设备上最重要的所见即所得(WYSWYG:What you see, what you get)编辑器。
广达Plus
Quanta Plus 是一个非常强大的 Linux 桌面环境 HTML 编辑器,介于所见即所得风格和 HTML 源代码之间。由于Quanta Plus需要输入HTML代码,但同时提供实时预览,这种编辑方式在提供友好界面的同时最大程度帮助用户掌握HTML代码。Quanta Plus支持Perl和PHP脚本语言,支持最新的DTD(Document Type Definition)文件格式编辑对话框。
崇高的文字
Sublime Text 是一个代码编辑器,也是一个用于 HTML 和散文的高级文本编辑器。Sublime Text 由程序员 Jon Skinner 于 2008 年 1 月开发,最初被设计为具有丰富扩展功能的 Vim。
最新版本:Hawk教程-网页采集器
[模块和运营商]常见问题解答更新日志作者和捐赠列表功能:案例:发布文章:故事:网页采集器
文章图片
网页采集器主界面 一、快速使用指南 网页采集器模拟浏览器的设计,填写URL,点击刷新即可获取对应地址的html源码.
在认识到网页是一棵树(DOM)后,每一个XPath对应一个属性,就可以从网页中得到一个或多个文档。网页 采集器 的目的是通过手动或自动配置更快地找到最佳的 XPath。
1.1. 工作模式
要使用采集器,首先要根据要捕获的目标选择合适的工作模式:
注意:
1.2. 基本操作
在多文档模式下,通常点击右上角的幸运符,在弹出的结果中选择需要的数据,配置其名称和XPath。单击“确定”完成配置。大多数网页的目标内容都可以自动获取。
[图片上传失败...(image-57cdac-30)]
可以手动填写搜索字符,可以快速定位网页中的元素和XPath,可以快速切换多个结果,找到需要的数据后,输入属性名,手动添加属性。
1.3. 高级功能
点击【Http请求详情】,可以修改网页代码、代理、cookie、请求方式等,如果网页出现乱码,可以自动登录,或者获取动态页面(ajax)的真实地址,填写搜索字符,点击【自动嗅探】,在弹出的浏览器中翻到对应关键词,Hawk即可自动抓取真实请求。性能差填写【共享源】,这个采集器同步共享源的【Http Request Details】,避免重复设置cookie代理等,详情页(单文档模式)也可以"我很幸运”(Hawk3的新功能),您可以搜索所需的字段,而无需将其添加到属性列表中,点击“我很幸运”试试吧!网页地址也可以是本地文件路径,
文章图片
单文档模式下的幸运页采集器不是单独工作的,它是采集器页和数据清理之间的桥梁。本质上,网页 采集器 是专门为抓取网页而定制的数据清理模块。
2.高级配置介绍 2.1.列出根路径
列表根路径是所有属性的XPath公共部分,可以简化XPath的编写,提高兼容性。只能在多文档模式下工作。
可以通过Hawk自动分析根路径,也可以手动设置。
2.2. 自动减少列表路径
举个例子说明一下,嗅探器在使用good luck之后,会找到list节点的父节点,以及挂载在父节点上的多个子节点,从而形成一个树状结构
每个节点提取以下属性:
为了得到父节点下的所有div子节点,列表的根路径为/html/div[2]/div[3]/div[4]/div。注意:父节点Path路径的末尾没有序号,这样可以得到多个子节点。可以这样理解,链表的根路径就是没有尾数的父节点的路径。
有时,父节点的 xpath 不稳定。比如在北京和上海的二手房页面,上海会在列表中加入广告banner,这样真实的父节点就会发生变化,比如将div向后偏移[1]变成div[2]。为了应对这种变化,通常的做法是手动修改[list root path]
2.3. 手动设置根路径
继续例子,父节点的id是house_list,在网页中是全局唯一的,可以用父节点的另一种写法//*[@id='house_list']/li(可以参考写法参考其他XPath教程),子节点表达式保持不变。这将使程序更加健壮。
3.抓取网页数据。网页采集器需要配合数据清洗使用,使用网页采集器获取网页数据。拖入的列需要是超链接
3.1. 一般获取请求
一般情况下,将爬虫转换拖到对应的URL栏,通过下拉菜单选择要调用的爬虫名称即可完成所有配置:
文章图片
请求配置该模块是网页采集器和数据清洗之间的桥梁。本质上,网页 采集器 是专门为捕获网页而定制的数据清理模块。
您需要填写爬虫选择,告诉它要调用哪个 采集器。注意:
3.2. 实现post请求
在网络请求中,主要有两种请求类型:post 和 get。使用 POST 可以支持更多数据的传输。更详细的可以参考http协议的相关文档。网上有很多,这里就不多说了。
在发布请求时,Hawk 需要向服务器传递两个参数:url 和 post。一般来说,执行post请求时,url是稳定的,post值是动态变化的。
首先将调用的网页采集器配置为post模式(打开网页采集器,Http请求详情,模式->下拉菜单)。
之后,您需要将爬虫的过渡拖到 url to call 列上。如果没有url列,可以通过添加新列生成一个url列来访问。
之后,我们要将帖子数据传递给网页采集器。您始终可以通过合并多个列连接或各种方式来生成要发布的数据列。之后可以在爬虫转换过来的post数据中填写【post column】,post column就是收录post数据的列名。注意:
4.手气不错这是Hawk最让人称道的功能!在新的Hawk3中,这个功能得到了极大的增强。
4.1. 你很幸运有多个文件
一般来说,输入加载页面的URL后,点击我很幸运,Hawk会自动按照优先级抓取列表数据
文章图片
我手气不错配置[图片上传失败...(image-9f6836-30)]
左右切换选择你想要的数据集,然后在下方的属性栏中微调结果。
添加一个属性,如果你幸运的话,你可以做得更准确。添加两个属性以选择独特的区域。
4.2. 单文档模式是幸运的
Hawk3的新功能,当网页收录几十个属性时,一个一个添加会变得非常繁琐,尤其是在一些商品属性页上。
解决这个问题,在搜索字符串中添加关键字,此时不要添加到属性列表中,直接点击手气不错。
文章图片
您在单文档模式 4.3 中很幸运。手动模式
当运气好不能工作或达不到预期时,需要手动指定几个关键字,让Hawk搜索关键字,获取网页中的位置(XPath)。
填写成功获取XPath的搜索字符,写上属性名,点击Add添加一个属性。同理,填写30535,属性名设置为“单价”,即可添加另一个属性。
文章图片
手动添加属性 在搜索字符的文本框中,输入要获取的关键字。由于关键字在网页中可能会出现多次,您可以连续点击继续搜索,并在多个结果之间切换。将显示左侧的 html 源代码搜索结果突出显示。
请注意观察搜索到的关键字在网页中的位置,是否符合预期,否则爬取数据可能会出现问题。特别是在多文档模式下。如果需要抓取该页面的多条数据,可以创建多个网页采集器,分别配置。如果发现错误,可以点击Edit 采集对属性进行删除、修改和排序。同样可以添加所有需要抓取的特征字段,或者直接点击I'm Lucky,系统会根据当前属性推断出其他属性。5.动态嗅探 5.1。什么是动态页面?
动态瀑布和 ajax 页面通常按需返回 html 和 json。
旧的 网站 会在刷新时返回页面的全部内容,但只更新部分内容可以节省大量带宽。这种方法称为ajax。服务器向浏览器传输xml或json,浏览器的js代码执行,将数据渲染到页面。因此,真正获取数据的url不一定显示在浏览器地址栏中,而是隐藏在js调用中。本质上,javascript发起一个新的隐藏的http请求来获取数据,只要可以模拟,就可以像真实的浏览器一样获取想要的数据。参考百度百科的介绍
5.2. Hawk自动获取动态请求
可以通过浏览器和抓包获取这些隐藏的请求,但是需要熟悉HTTP请求的原理,不适合初学者。
Hawk 简化了流程并使用自动嗅探。Hawk成为后端代理,拦截分析所有系统级Http请求,过滤掉收录关键字的请求(基于fiddler)
在搜索字符时,如果在当前页面没有找到关键字,Hawk 会提示“Do you want to start dynamic sniffing?” 这时Hawk会弹出浏览器,打开所在的网页。您可以将页面拖拽到收录关键字的位置,Hawk会自动记录并过滤真正收录关键字的请求。检索完成后,Hawk 会自动弹回。
5.3. 如果不能自动嗅探?
由于Hawk有拦截功能,所以会被浏览器认为是不安全的。如何解决?
Hawk的底层嗅探是基于fiddler的,所以可以通过fiddler生成证书导入到chrome中解决。方法可以参考这个文档:
设置 采集器 如下:
文章图片
网页 采集器 请求设置 5.4。笔记
有的时候运气好的话可以直接把url复制到Hawk上拿到数据。这是因为许多 网站 对待第一页的方式与其他页面不同。第一页的内容将与整体框架一起返回。但是随后通过ajax单独返回页面内容。
有的时候第一页做了很多XPath开发,最后发现其他页面不能用了,大部分都是上面提到的问题(一头雾水)。因此,根据经验,建议转到其他页面进行请求。超级模式可以将网页中的javascript、json、xml全部转换为HTML DOM树,从而实现属性抽取和造化。
6、超级模式为了让动态网页能够使用添加属性和运气,Hawk在嗅探后会默认开启超级模式。超级模式可以将网页中的javascript、json、xml全部转换为HTML DOM树,从而实现属性抽取和造化。
超级模式大大简化了动态请求的处理,但是它仍然可能存在以下问题:
7. 自动登录 许多网站需要登录才能访问他们的内部内容。登录涉及到非常复杂的逻辑,比如需要传递用户名密码、验证码等,还有多次请求获取token等一系列过程,甚至写代码需要写一整页和需要反复调试。考虑到Hawk是一个通用数据采集器,其开发成本非常高。
但本质上,登录只是获取cookie。只要在后续请求中加上cookie,远程服务器就无法区分是浏览器还是爬虫。一般传统的爬虫软件都会内置浏览器,用户在里面填写用户名和密码。软件在内部获取cookie后发出请求。但是Hawk不打算搞内置浏览器,那种方式太重了,很难兼容Hawk的流媒体系统。所以,Hawk不玩自动登录!
我们用一种新的思维方式来解决这个问题。
Hawk的自动登录和动态嗅探使用的技术是一样的。它本质上是取代了底层的系统代理。您可以在搜索字符中填写登录页面上的任何文本,然后单击嗅探。如果这个方法不行,也可以手动将浏览器上的请求参数复制到网页采集器中。
更详细的使用方法请参考动态嗅探章节。
8.设置共享请求参数的采集器名称 为了一个网站获取不同的数据,我们需要多个网页采集器。但是访问 网站 需要登录和 cookie。难不成每个采集器都要设置相应的请求参数?
在采集器的属性对话框中,可以设置分享源,即要分享的网页采集器的名称。
比如设置为Link Home采集器,那么这个采集器的请求参数在执行过程中会从Link Home采集器中动态获取。这大大简化了配置过程。
文章图片
在按钮上自动弹出帮助 9. 附录:XPath 和 CSS 写法 9.1.XPath
XPath语法请参考教程
XPath 可以非常灵活,例如:
9.2. CSS选择器
在大多数情况下,XPath 可以解决问题,但 CSSSelector 更简洁,更健壮。其介绍请参考教程
当然,大多数情况不需要那么复杂,只要记住以下几点即可:
10.手感幸运原理网页采集器的功能是获取网页中的数据(废话)。一般来说,target可能是一个列表(比如购物车列表),也可能是一个页面中固定的字段(比如京东商品的价格和介绍,页面只有一个)。因此,需要设置其读取模式。传统的采集器需要写正则表达式,但是方法太复杂。
如果你意识到html是一棵树,你只需要找到承载数据的节点,然后用XPath来描述它。
文章图片
运气好的原理手动写XPath也很复杂,所以软件可以通过关键字自动检索XPath,提供关键字,软件会递归地从树中搜索收录数据的叶子节点。因此,关键字最好在页面内是唯一的。
如上图所示,只要提供“北京”和“42”这两个关键字,就可以找到父节点,然后就可以得到两个列表元素div[0]和div[1]。通过比较div[0]和div[1]两个节点,我们可以自动找到相同的子节点(name,mount)和不同的节点(北京:上海,37:42)。相同的节点将保存为属性名,不同的节点将保存为属性值。但是不能提供北京和37。此时公共节点为div[0],不是列表。
【Hawk Tutorial-Webpage采集器】软件也可以在不提供关键字的情况下,利用html文档的特性,计算最有可能成为列表父节点的节点(图中parent),但是当当网页特别复杂时,猜测可能是错误的。