有没有一种编程语言非常适合网络爬虫?

7

我曾使用3种语言进行网页抓取 - Ruby,PHP和Python,但是实际上没有一种似乎完美地完成了此任务。

Ruby拥有出色的Mechanize和XML解析库,但电子表格支持非常差。

PHP拥有出色的电子表格和HTML解析库,但它没有WWW:Mechanize的等效物。

Python的Mechanize库非常差。我在使用过程中遇到了许多问题,仍然无法解决。但其电子表格库相对较好,因为它无法创建XLSX文件。

有没有适用于网页抓取的完美工具呢?

PS:我正在Windows平台上工作。


3
Excel 格式支持与网络爬虫有点无关。 - Josh Lee
2
我认为“完美”是相当主观的,不过你试过.NET吗?我认为它的XML解析库非常强大,而且你也可以很容易地与MSOffice集成来支持电子表格。 - Tommy
我从未使用过那个特定的函数,但这里可能是一个开始,让你开始寻找类似的功能。https://dev59.com/mkXRa4cB1Zd3GeqPqUZE - Tommy
@Wayne - 我只需要从各个网站获取简单的数据。有些网站需要登录,而有些则需要提交表单。 - Shubham
Python的机械化库非常差?我经常使用它,但我不知道这一点。 - John La Rooy
显示剩余4条评论
4个回答

2

1
我一直都在使用这个! - JudoWill

1
为什么不直接使用XML电子表格格式呢?它非常简单易创建,而且即使使用任何类型的基于类的系统也很容易做到。
另外,对于Python,你尝试过使用BeautifulSoup进行解析吗?Urllib+BeautifulSoup组合起来非常强大。

1

简短的回答是否定的。

问题在于HTML是一个庞大的格式家族,只有较新的变体是一致的(并且基于XML)。如果您要使用PHP,则建议使用DOM解析器,因为它可以处理许多不符合良好形式的XML的HTML。

从您的帖子中可以看出:

1)需要从网络捕获内容,并要求进行复杂的交互管理

2)将数据解析为一致的机器可读格式

3)将数据写入电子表格

这肯定是三个单独的问题 - 如果没有一种语言满足所有3个要求,那么为什么不使用最适合工作的工具,并只关注数据的合适的中间格式/介质呢?

C.


0

使用Python + Beautiful Soup 进行网络爬虫,由于您在Windows上,您可以使用win32com进行Excel自动化以生成xlsx文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接