我的python级别是新手。我从来没有写过网络刮板或爬虫。我编写了一个python代码来连接到api并提取所需的数据。但对于一些提取的数据,我想知道作者的性别。我找到了这个网站http://bookblog.net/gender/genie.php
,但缺点是没有可用的api。我想知道如何编写一个python来向页面中的表单提交数据并提取返回数据。如果我能在这方面得到一些指导,那将是一个很大的帮助。
这是dom的表单:
<form action="analysis.php" method="POST">
<textarea cols="75" rows="13" name="text"></textarea>
<div class="copyright">(NOTE: The genie works best on texts of more than 500 words.)</div>
<p>
<b>Genre:</b>
<input type="radio" value="fiction" name="genre">
fiction
<input type="radio" value="nonfiction" name="genre">
nonfiction
<input type="radio" value="blog" name="genre">
blog entry
</p>
<p>
</form>
结果页dom:
<p>
<b>The Gender Genie thinks the author of this passage is:</b>
male!
</p>
无需使用mechanize,只需在POST请求中发送正确的表单数据。
另外,使用正则表达式解析HTML也是一个坏主意。最好使用像lxml.HTML这样的HTML解析器。
您可以使用mechanize,有关详细信息,请参见examples。
可以使用mechanize提交和检索内容,使用re模块获取所需内容。例如,下面的脚本是为您自己的问题的文本编写的:
它是做什么的?它创建一个
mechanize.Browser
,并转到给定的URL:然后选择表单(因为只有一个表单需要填写,所以它将是第一个):
同时,它设置窗体的条目。。。
。。。并提交:
现在,我们得到结果:
我们知道结果是这样的:
因此,我们创建一个用于匹配的regex并使用
re.findall()
:现在,结果可供您使用:
相关问题 更多 >
编程相关推荐