使用Python提交Javascript表单和Scrap

时间:2016-06-11 16:34:49

标签: javascript python web-scraping urllib

我在网站上有以下HTML / Javascript代码。它基本上代表一个有两个字段的网站:a)name =“N”:字段是你标记的“V”字母; b)name =“ID”您输入的数字最多为8个字符。

<tr>
    <td>
        <form name="form" method="post" action="javascript:BuscaR(document.form.N.value, document.form.ID.value)">
<table class="aux">
    <tr>
        <td>
            <select name="N" class="form">
            <option value="V">V</option>
            </select>
        </td>
        <td>
            <input name="ID" type="text" class="form"  maxlength="8" size="8" value="ID" onfocus="javascript:clear_textbox3();" onblur="javascript:Valid(document.form.ID);"/>
        </td>
    </tr>
    <tr>
        <td>
            <input type="submit" value="Buscar" class="boton"/>
        </td>
    </tr>
    </table>
    </form>
</td>

之前我使用BeautifulSoup和urllib完成了webscrapers。我的想法是生成一个脚本,输入并提交这些ID号(来自庞大的数据库),并检索网站响应的数据(它返回一个HTML)。

但是,我无法找到这种形式“引导”的地方。我的意思是,我该如何输入?如何在Python中“按”提交?

在大多数posts上,我们现在提交表格线索的php网址是什么。因此,他们可以更改php.?N=V,ID=x中的ID和“暴力”不同的数字。但我在网站上找不到这个网址。我该怎么办?

原始网站右侧是http://www.cne.gob.ve/web/index.php,上面写着“Consulte sus Datos。Procesodevalidacacónyexclusiónderegistros presentados por el partido MUD”。并且该框显示搜索按钮。

谢谢大家!

1 个答案:

答案 0 :(得分:1)

这是一个简单的获取请求,通过两个参数:

enter image description here

所以请求:

url = "http://www.cne.gob.ve/web/registro_electoral/firmantes.php"

params = {"nacionalidad":"V",
"cedula":"12345678"}

page = requests.get(url, params=params)
print(page.content)

如果您传递了正确的ID,您将获得一张返回的数据表,使用12345678您会看到一张表返回并且EstaCéduladeIdentidad no se encuentra en la base de datos de los registros presentados por el partido MUD < / em>显然它不是一个有效的ID。