Exp*_*ion 6 scripting perl screen-scraping download
我想下载一些Yahoo群组(文件,照片,消息,成员列表),并且找到了以下脚本:
我已经从CPAN下载了ActivePerl和所需的模块(没什么花哨的;它们很容易找到)。我已经成功安装了它们,但是当我运行脚本时,它告诉我我已经成功登录后出现错误:“在yahoogroups_files.pl行的模式匹配(m //)中使用未初始化的值$ cells 244,第2行。”
我猜测Yahoo更改了页面的布局或其他内容,但是我自己无法更新脚本。我是Perl的新手,并且了解Yahoo生成页面的方式,我只知道一些基本的C ++。我想提一下,我并不懒惰,我会尝试自己修复它,但我需要您的帮助:提示,建议等。
PS:我已经联系了作者,但是他不愿意更新脚本。
您需要以下领域的知识:
使用 html 解析器
http知识(get/post/head)
网页抓取
我建议您关注WWW::Mechanize,因为它能够完成所有这些事情(以及更多)
编辑:另一个解决方案(不需要编程)是这样的:使用浏览器登录雅虎组,存储cookie,然后运行 wget ,将存储的cookie作为参数传递。这样你就能很快完成任务。
在硬盘上找到浏览器的 cookies.txt 文件,然后像这样调用 wget (如果我没记错命令的话):
wget --load-cookies path_to_cookie_file -r -w 60 网站
EDIT2:另一种选择是使用WebDriver来自动化 Firefox。您可以使用本文作为如何实现此目的的指南。