自动从HTML页面发送和接收数据

时间:2011-03-16 17:47:21

标签: python html

我不确定我应该使用哪个模块。 我有> 100个文件,我需要提交到以下网页并检索结果。

http://bip.weizmann.ac.il/oca-bin/lpccsu

如果我能以某种方式将文件发送到

来自动化过程将是有益的
'<'input type="file" name="filename"  size='30''>'

标记,然后接收返回的html,以便可以使用正则表达式处理它。

由于

编辑以查看示例输出,将单选按钮设置为CSU,并在“PDB条目”文本框中输入1eo8

2 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点:

1)Perl和LWP

use LWP::UserAgent; 
my $ua = new LWP::UserAgent; 

my $response 
= $ua->post('http://bip.weizmann.ac.il/oca-bin/lpccsu?9955', 
{ param1 => 'value1',
param2 => 'value2', 
}); 

my $content = $response->content;
// your regular expression code

2)Autohotkey,具有正则表达式和由处理POST请求的用户编写的库,请参阅http://www.autohotkey.com/forum/topic33506.html

3)编写一个使用wget --post-data和--post-file的批处理文件,将其传递给一系列文件,并使用您的favortite脚本语言读取输出 参考:http://www.gnu.org/software/wget/manual/html_node/HTTP-Options.html

希望有所帮助

答案 1 :(得分:2)

@Anake这里有3个Pythonic软件包,它们提供了检索和解析的解决方案:

从他们的网站:

美丽的汤解析你给它的任何东西,并为你做树遍历的东西。您可以告诉它“查找所有链接”,或“查找类externalLink的所有链接”,或“查找其网址匹配的所有链接”foo.com“,或”查找具有粗体文本的表格标题,然后给出我那个文字。“1

在Andy Lester的Perl模块之后用Python进行有状态的程序化网页浏览2

Scrapy是一种快速的高级屏幕抓取和网络抓取框架,用于抓取网站并从其网页中提取结构化数据。它可用于各种用途,从数据挖掘到监控和自动化测试。 3