IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Web Scraping

共 16 篇相关文章

IT 累计浏览 3,032

竞业协议的相关文章收集

这篇关于国内竞业协议现象的深度合集,汇集了多篇重要文章的核心观点与案例。文章直指国内互联网行业竞业协议被普遍滥用的现状——本应仅针对高管、核心技术及保密人员的限制,已下沉至应届生甚至实习生,成为企业“拿捏”员工的工具。作者梳理了相关法律要点,例如竞业期限最长两年、补偿金一般不低于离职前12个月平均工资的30%,并强调连续三个月不支付补偿则协议自动失效。 合集进一步引入硅谷视角作为对比:加州早在1872年便立法禁止竞业协定,学者认为这促进了人才流动与创新,是硅谷保持活力的源头之一。而美国联邦贸易委员会(FTC)更在2023年提议全国禁止,指出竞业协定会压缩薪资、阻碍创业。通过汇集国内“全网通缉”式的极端案例与硅谷的开放模式,文章呈现了两种截然不同的人才观与创新生态。它既为从业者提供了应对竞业限制的实用法律知识,也引发了对于人才价值与企业权力边界的思考。

IT 累计浏览 5,042

Kindle 电子书生成工具

这篇讲的是开发者如何为纯粹阅读打造一款 Kindle 电子书生成工具。作者从自身需求出发,为了解决手机阅读干扰多、伤眼的问题,花了两个晚上钻研 OPF 和 EPUB 格式,最终构建了一个能将网络内容一键转换为 Kindle 电子书的命令行工具。 该工具的核心原理是依据 OPF 规范生成 KF8 格式的 .mobi 文件。它的数据来源相当灵活:既可以通过指定 URL 和 DOM 选择器抓取单篇文章,也能直接订阅 RSS 源获取更新,甚至能处理本地 Hexo 博客生成的 HTML 文件。程序会智能分析和过滤数据,对 Hexo 文件做了特殊适配,并且能自动下载页面中的远程图片和 CSS 样式,确保电子书内容完整。 项目已将 Amazon 官方的 kindlegen 工具内置,目前默认支持 Mac 系统,但通过社区贡献也提供了 Windows 平台的支持方案。整个流程被简化为编辑配置文件或运行命令行,目标是让技术爱好者和内容创作者都能轻松地把零散的网页文章“打包”成一本本精致的电子书。

IT 累计浏览 1,160

nginx反向代理做克隆采集小偷垃圾站,还能翻墙

这篇讲的是如何利用Nginx反向代理快速搭建一个网站内容镜像或代理站。作者从一个具体的配置文件入手,展示了核心步骤:通过`proxy_pass`将本地域名请求指向目标站点IP,并配合`proxy_set_header`伪装访问头,使对方服务器记录的是代理IP。文章特别强调了两个实用技巧:一是通过`subs_filter`规则(需安装第三方`nginx_substitutions_filter`模块)在返回页面前动态替换文本内容,可用于清理广告或修改版权信息;二是通过设置`Accept-Encoding`为空来禁用压缩,确保替换模块能正常工作。 作者还手把手演示了如何在已有NginX基础上,通过重新编译添加该模块的完整流程,从下载源码、查看原编译参数、执行`make`到平滑替换二进制文件,步骤清晰。整个方案相当于用NginX作为“中间人”,低成本实现了内容抓取、过滤与转发,对于需要快速搭建本地化内容镜像或进行页面预处理的开发者来说,是一套直接可用的技术脚本。

IT 累计浏览 2,904

对爬虫的限制

这篇讲的是开发者在资源受限的云平台上,如何应对爬虫造成的流量激增问题。作者起初将文件迁移到七牛云存储后,发现一天就消耗了2GB流量,远超预期。分析SAE应用日志后发现,大量请求来自搜索引擎爬虫。 为了解决这个问题,作者采取了一系列递进式的应对措施。首先用robots.txt屏蔽了如AhrefsBot、Ezooms等国外爬虫。在robots规则生效前,通过SAE的应用防火墙直接屏蔽具体IP地址,或者更高效地封禁整个IP段。此外,还利用config.yaml的配置,实现了对特定目录的访问控制,并将未遵守规则的爬虫引导至robots.txt。对于单个PHP文件,则编写了简单的代码检测User-Agent并返回空白页。 最终,这些措施有效遏制了爬虫对服务器资源的过度消耗,文章末尾的SAE输出流量图也直观展示了问题解决后的平稳状态。整个过程体现了从问题发现、日志分析到多手段综合处置的典型排查思路。

IT 累计浏览 9,368

抓取网页内容生成Kindle电子书

这篇讲的是如何把那些只能在线浏览的网页内容,变成可以在Kindle上随时随地阅读的电子书。作者从一个常见的痛点出发——Kindle虽好,但网上大量优质的在线文档、技术书籍却无法离线阅读。 文章的核心方案是借助开源的电子书管理工具Calibre。它提供的`ebook-convert`命令和`recipes`机制是关键:用户只需编写一个Python类脚本(即recipes),定义好抓取规则,就能自动将网页内容转换为mobi或epub格式。作者以《Git Pocket Guide》为例,详细演示了如何分析网页结构、编写`parse_index`方法来解析目录并组织章节内容,甚至自动处理图片。实现思路清晰,通过继承`BasicNewsRecipe`类并实现一个核心方法,就能完成定制化抓取,非常巧妙。 最终生成的电子书在Kindle上拥有完整的目录和图文排版,效果很好。作者还把自己的多个recipes整理在GitHub上供社区使用,让这套方法更具实用价值。

IT 累计浏览 4,661

新浪博客抓取程序(php)

这篇分享了一个解决内容冷启动问题的实用工具——作者编写的新浪博客采集程序。 在很多社区或博客上线初期,面对内容空白的窘境,快速填充优质内容成了当务之急。作者基于 PHP 的 Snoopy 库,编写了这个采集程序。Snoopy 是一个能模拟浏览器行为的类库,这意味着它可以很好地伪装客户端,轻松绕过很多博客为反爬虫设置的限制,这是该程序一个关键的技术点。 作者提到,这个程序原本是他在职期间为公司所做,后来项目搁浅,程序也就闲置了。与其让代码躺在硬盘里,不如分享出来供有相似需求的人参考。对于那些需要合法、快速地整合外部优质内容以丰富自己平台的新手站长或开发者来说,这是一个现成的起点。程序已经打包好,可以直接下载使用。

IT 累计浏览 3,061

python装饰器的一个妙用

这篇讲的是作者从实际开发需求出发,分享了Python装饰器一个非常实用的“妙用”。作者首先解释了装饰器的核心概念——它本质上是一个高阶函数,能够无侵入地为其他函数或类增加额外功能,比如日志记录、性能计时或权限校验。 文章的重点在于展示一个具体案例:如何通过装饰器,优雅地为多个独立的业务函数统一添加一层“参数验证与缓存”逻辑。作者没有停留在理论层面,而是演示了装饰器的实现过程,特别是如何利用闭包和函数参数解析(*args, **kwargs)来捕获被装饰函数的输入,并决定是执行原函数还是返回缓存结果。 其中最巧妙的一点是,通过设计一个可配置的装饰器,让缓存策略(如基于参数哈希或时间窗口)变得灵活可调。这避免了在每个函数内部重复编写验证和缓存代码,显著提升了代码的可维护性和复用性。文章用实际代码片段清晰地展示了这种模式如何让业务逻辑更加干净,把横切关注点集中到一处处理。对于希望提升代码优雅度的Python开发者来说,这是一个能直接拿去用的实用技巧。

IT 累计浏览 4,463

其实你不懂wget的心-01

这篇系列文章开篇便点明了主角——wget,一个“非交互的网络下载器”。作者从最基本的定义切入,但显然不止于概念解释,标题中“其实你不懂”暗示着将层层剥开这个常见工具的深层能力。 文章虽然尚未展开细节,但其定位是清晰的知识科普。可以预见,后续内容会深入对比wget与图形界面下载工具、或与`curl`等命令行工具在功能与场景上的差异,剖析它在脚本自动化、服务器环境批量获取资源时的核心优势。对于开发者、运维人员和追求效率的终端用户而言,理解这些差异是用好工具的关键。这篇引文恰似一个路标,指向一条从“会用”到“懂用”的技术进阶路径。

IT 累计浏览 5,501

定向抓取漫谈

这篇讲的是网络爬虫的“定向抓取”基本功。作者从爬虫的基本定义出发,解释了它是作为搜索引擎重要组成部分的自动化程序。核心描述了其工作机制:从一组起始URL(种子)开始,按照既定策略下载页面,再从新页面中提取URL放入爬取队列,由此循环往复,直至完成抓取任务。 文章清晰地勾勒出爬虫“发现-下载-解析-扩展”的经典工作循环。它强调了爬取队列在流程中的枢纽作用,以及策略(如爬取顺序、范围控制)对于实现“定向”抓取的意义。虽然内容偏向基础知识,但将爬虫从静态的程序描述,还原成了一个动态、自增长的抓取过程,有助于读者理解搜索引擎底层数据采集的原始逻辑。

IT 累计浏览 2,200

网页分析处理的极品模块Web::Scraper

作者从自动化处理中智能提取网页元素的实际痛点出发,推荐了他眼中最为顺手的模块——Web::Scraper。 在处理爬虫或数据抓取任务时,直接基于CSS选择器或HTML结构定位目标信息,通常比依赖不稳定的XPath或正则表达式要高效得多。Web::Scraper 正是为此设计,它允许你用类似写CSS的方式,清晰、直观地从网页中“剥离”出所需的数据块。 作者强调了在众多类似工具中,这个模块的“极品”体验。它不仅语法简洁,而且在处理嵌套结构和复杂提取规则时表现得尤为稳定和灵活。对于需要经常与网页打交道,尤其是希望代码能更贴近页面原始结构、降低维护成本的开发者来说,它提供了一种优雅的解决方案。 这篇文章详细介绍了如何利用它来简化从网页结构到数据的映射过程,让自动化信息获取变得更智能、更可控。

IT 累计浏览 4,061

新闻站抓取神器:正文抽取接口

目前新闻站内容抓取的痛点在于,传统采集器严重依赖人工编写正则规则来定位正文,这不仅效率低下,而且网站结构一变就容易失效。作者从实际工程需求出发,介绍了一种基于正文抽取接口的解决方案。 该方案的核心是绕过复杂的前端标签匹配,直接对HTML文档进行语义分析。它能够智能识别内容块,自动过滤掉导航栏、广告、版权声明等干扰元素,精准提取出纯净的文章正文。与传统需要针对每个网站写模块的方式相比,这个接口提供了一种更通用、更稳定的自动化提取能力。 这意味着,开发者不再需要为成百上千个新闻网站分别维护采集规则。通过调用统一的接口,就能高效获得结构化的正文内容,极大降低了数据采集和清洗的成本。对于需要大规模获取网络文本数据的应用场景,这提供了一个非常实用的技术思路。

IT 累计浏览 4,881

Ruby 解析 HTML (Nokogiri)

从定期检查自家网站链接是否存活的需求出发,作者发现直接用正则表达式抓取HTML中的URL是条看似聪明实则痛苦的路。原因在于HTML并非标准的XML,用正则去匹配时,开发者不得不考虑各种烦人的细节:标签属性的大小写、代码中的换行符、属性值使用单引号、双引号或干脆没有引号、甚至一些无关紧要的空格,这些都让表达式变得异常复杂且脆弱。 这篇文章正是从这个实际的“踩坑”经历切入,指出了用正则表达式解析半结构化数据的根本局限。它更像一篇技术方案的反思,旨在告诉读者,当面对HTML这种“宽容”但格式不一的文本时,需要转向更专业的工具。文中提到的Nokogiri正是这样的利器,它作为Ruby生态中成熟的HTML/XML解析器,能自动处理DOM结构,从而让开发者从编写和维护复杂正则的痛苦中解脱出来,专注于提取内容本身的逻辑。

IT 累计浏览 3,121

phpQuery-分析网页文本的新利器

这篇讲的是phpQuery——一个让PHP开发者能用jQuery语法操作网页的开源项目。对于需要从网页中抓取和分析文本的任务,传统的正则表达式编写门槛很高,而phpQuery提供了一条捷径。 文章的核心是对比了两种技术路径。以前,处理网页结构和文本内容,不会写复杂的正则表达式几乎无法下手,这限制了许多PHP开发者的能力。phpQuery将jQuery强大的CSS选择器和DOM操作能力带到了服务器端,开发者可以直接用他们熟悉的jQuery链式语法来定位、遍历和提取网页元素,而无需与正则表达式缠斗。 这意味着,如果你是一个习惯jQuery前端思维的PHP开发者,现在可以用同一套逻辑在服务端高效完成数据采集或内容解析工作,工具的易用性和开发效率得到了显著提升。这篇文章清晰地展示了,一个合适的工具如何将原本复杂的网页分析任务,变得直接而可行。

IT 累计浏览 7,023

PHP Simple HTML DOM Parser 是一个不错的html/xml分析类

这篇讲的是PHP中一个轻量级的HTML/XML解析工具——PHP Simple HTML DOM Parser。作者从实际需求出发,提到PHP内置的DOM或SimpleXML等类虽然可用,但在处理不规范的HTML时往往要么能力不足、编码繁琐,要么过于严格。为了解决抓取大量网页特定内容的问题,作者找到了这个第三方类。 这个库最大的特点是轻量便捷:整个解决方案封装在单个文件中,目前仅36KB大小。它采用类似jQuery的语法来遍历和选择元素,大大降低了编码复杂度,尤其适合处理现实世界中那些结构松散、不完全符合规范的HTML文档。文章虽然未完全展示官方列出的特性,但核心已指向其易用性和对宽松文档的宽容度。 对于需要快速抓取和解析网页内容的PHP开发者来说,这个轻量级工具或许比使用重量级框架或编写复杂的正则表达式更为直接高效。

IT 累计浏览 3,482

SEO软件推荐:Meta搜索

这篇讲的是如何利用Meta搜索工具快速掌握关键词的跨平台排名情况。作者从SEO从业者常需对比多平台搜索结果的痛点出发,介绍了这款能整合谷歌、百度等多个搜索引擎数据的工具。它的核心价值在于,能一次性呈现同一关键词在不同引擎中的排名位置与对应网站,让你直观比较各竞争者的搜索可见性。 具体来说,工具通过聚合查询,省去了手动逐个搜索的麻烦。你不仅可以确认自家网站在各平台的真实排名,还能快速识别主要竞争对手是谁、他们的优势集中在哪里。这种跨引擎的视角,对于制定差异化的SEO策略或进行市场调研,提供了清晰的数据支撑。 对于需要监控品牌在不同地区搜索表现,或是分析特定领域竞争格局的团队而言,Meta搜索把分散的数据拉到了同一个视图里,让“对比”这件事变得简单而直接。

IT 累计浏览 158,167

用Hyer来进行网站的抓取

这篇讲的是一个名为 Hyer 的网站内容抓取工具包的由来。作者从自己日常的站点内容抓取需求出发,开发了这款个人工具。在持续迭代中,他逐渐将其打磨成一个更通用的解决方案,并最终决定将其开源。 目前,这个工具包已经托管在 GitHub 上。它专注于解决网站抓取的具体实践问题,核心在于提供一套可用的抓取流程与工具集。对于有类似需求的开发者或研究者来说,这个从实际需求中诞生的开源项目,或许能提供一个不错的起点。