python:用onclick发送一个帖子请求,触发一个javascript

时间:2015-08-27 15:19:41

标签: javascript python request http-post

我正在尝试编写一个脚本来搜索给定学者的所有已发表的论文。基本上,我正在使用python的Requests发送带有一些参数的POST请求(比如搜索选项和学者的名字)。我发现我主要处理的是这样的表格(为简单起见而截断和编辑):

<form name="searchForm" 
  method="post" 
  action="http://epub.cnki.net/kns/brief/default_result.aspx" 
  id="searchForm" autocomplete="off" onsubmit="collectSelectDB();">
    ...
    <div class="research">
        <span class="reopt" id="typeSelect">
            <select id="txt_1_sel" name="txt_1_sel" class="searchw8">
            <option value="AU$=|" selected="true">Author</option>
            ...              
        </span>          
        <input class="rekeyword" value="" id="txt_1_value1" name="txt_1_value1" ...>
        <input type="button" id="btnSearch" class="researchbtn" 
               onclick="javascript: cnkiIndexSearchOnclick('&amp;ua=1.11');">
    </div>
...

我不确定的一件事是“按钮”,它似乎通过点击触发了一个javascript(后来它产生了一个结果页面)。

当我传递这样的参数时,

#-*- coding: utf-8 -*-
import requests

url = 'http://epub.cnki.net/kns/brief/default_restult.aspx'
name = u'李强'
payload = {'txt_1_value1' : name.encode('utf-8')}
r = requests.post(url, params = payload)
with open("results.html", "w") as f:
    f.write(r.content)

它只是给我一个空的搜索结果,以及一个填充了作者姓名的搜索框。我想我没有正确发送POST请求,因为“按钮”的东西。这也是一种参数吗?我们该怎么处理呢?

0 个答案:

没有答案