【问题标题】:Submiting Javascript Form and Scrape with Python使用 Python 提交 Javascript 表单和抓取
【发布时间】:2023-04-02 11:25:03
【问题描述】:

我在网站中有以下 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 做过网络爬虫。我的想法是生成一个脚本,输入和提交这些 ID 号(来自一个巨大的数据库),并检索网站响应的数据(它返回一个 HTML)。

但是,我找不到这个表格“引导”到哪里。我的意思是,我该如何输入?如何在 Python 中“按”提交?

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

原始网站是http://www.cne.gob.ve/web/index.php,右侧显示“Consulte sus Datos。Proceso de validación y exclusión de registros presentados por el partido MUD”。并且该框会显示一个搜索按钮。

谢谢大家!

【问题讨论】:

    标签: javascript python web-scraping urllib


    【解决方案1】:

    这是一个简单的get请求,传递两个参数:

    所以对于请求:

    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 您会看到返回的表和Esta Cédula de Identidad no se encuentra en la base de datos de los registros presentados por el partido MUD 显然它不是一个有效的 id。

    【讨论】:

    • 天哪!就是这么简单。我不敢相信。只有一个问题:您是如何获得 .php 页面的?我使用 Chrome 的源代码来获取我复制的代码,但我不知道还能做些什么来找到你找到的东西。
    • 打开开发者工具,点击网络选项卡,提交请求然后检查 xhr 选项卡,你会看到究竟发生了什么。
    • 非常感谢,伙计。就个人而言,并代表许多同胞。对不起情节剧
    • 不用担心,只有知道怎么做才简单!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 2014-01-04
    相关资源
    最近更新 更多