【问题标题】:Retrieving data from a form?从表单中检索数据?
【发布时间】:2017-11-16 03:21:26
【问题描述】:

我正在尝试使用 python 向网站输入数据,搜索它然后提取地址,但不知道在此之后从哪里继续。到目前为止,我的代码如下所示:

import mechanize

br = mechanize.Browser()
response = br.open("https://www.matsugov.us/myproperty")
for form in br.forms():
     print "Form name:", form.name
     print form

这给了我表单名和表单。该表单在下拉列表中有多个字段,我需要选择税号搜索并获取值“218N02W27C003”,然后应该显示结果。从这个结果中,我们只需要获取包裹地址并显示输出。

【问题讨论】:

  • @martineau 很抱歉格式化不顺利

标签: python python-2.7 web-scraping mechanize


【解决方案1】:

由于您已经知道表单的名称,因此可以使用

选择表单名称
for form in br.forms():
        if form.attrs.get('name') == 'frmSearch':
            br.form = form
            break

要从下拉菜单中选择一个选项,请将选项的作为列表传递

br.form['ddlType']=["taxid"]

整体代码:

import mechanize

br = mechanize.Browser()
response = br.open("https://www.matsugov.us/myproperty")

for form in br.forms():
    if form.attrs.get('name') == 'frmSearch':
        br.form = form
        break

br.form['ddlType']=["taxid"]
br['txtParm']="abcdef"
req=br.submit().read()
print req

供参考的HTML代码是这样的。

<select name="ddlType" id="ddlType">
    <option value="owner">Owner Search</option>
    <option value="buyer">Buyer Search</option>
    <option value="address">Address Search</option>
    <option value="subdivision">Subdivision Search</option>
    <option value="subdivision2">Subdivision ID Search</option>
    <option value="taxid">Tax ID Search</option>
    <option value="parcel">Parcel ID Search</option>

</select>

【讨论】:

  • 谢谢@Ankush。对于出租车 218N02W27C003,输出来了,但有很多垃圾值。我只需要那个地址。任何线索我该如何过滤? o/p 的几行是 "2092 N PITTMAN RD "我只需要“N PITTMAN RD”
  • 你找到什么了吗?
猜你喜欢
相关资源
最近更新 更多
热门标签