我习惯于创建一些爬虫来编译信息,当我来到一个网站,我需要的信息我开始一个新的爬虫专门为该网站,使用外壳脚本大部分时间,有时PHP。
我这样做的方式是用一个简单的for
来迭代页面列表,一个wget
下载它,sed
,tr
,awk
或其他实用程序来清理页面,并获取我需要的特定信息。
所有的过程都需要一些时间,根据网站的不同,下载所有页面的时间更长。我经常踏入一个会使一切变得复杂的AJAX站点
我想知道是否有更好的方法来做到这一点,更快的方法,甚至一些应用程序或语言来帮助这类工作。
发布于 2009-02-07 02:27:17
使用正则表达式解析内容是一个坏主意,在这里已经被无数次的问题所覆盖。
您应该将文档解析为DOM树,然后您可以提取所需的任何超链接、样式表、脚本文件、图像或其他外部链接,并相应地遍历它们。
许多脚本语言都有用于获取Web页面(例如PHP的curl )和解析HTML (例如Python的Beautiful Soup )的包。走这条路,而不是老生常谈的正则表达式匹配解决方案。
发布于 2010-04-05 11:44:06
如果你使用python,Scrapy很好用。
https://stackoverflow.com/questions/522975
复制相似问题