代码之家  ›  专栏  ›  技术社区  ›  user8584384

python urllib-在标题中发送#输入文本并提交

  •  1
  • user8584384  · 技术社区  · 6 年前

    我正在尝试访问一个网站,并为网站上的输入赋予一定的价值。

    输入的形式如下:

    <input id="wavelength" name="wavelength" style="width:80pt;" 
    onchange="nk(false),reflection(true),transmission(false)">
    <input id="wavelength_submit" type="submit" class="noprint" value="↵" 
    onclick="nk(false),reflection(true),transmission(false)">
    

    我对这个很陌生,但我知道你可以要求一个特定的变量有一个特定的值。

    我的要求是:

    url = 'https://refractiveindex.info'
    values = {'shelf': 'glass', 'book': axicon_material, 'wavelength':  used_wavelength, 'wavelength_submit': 'true'}
    data = urllib.parse.urlencode(values)
    data = data.encode('utf-8')
    
    index_mainpage_request = urllib.request.Request(url,data)
    index_mainpage_response = urllib.request.urlopen(index_mainpage_request)
    paragraphs = re.findall(r'<p>(.*?)</p>', str(index_mainpage_response.read()))
    

    然而,网站上的输入框不想更改其内容。有没有办法根据我的要求做到这一点?因为这种方式似乎行不通

    1 回复  |  直到 6 年前
        1
  •  0
  •   user8584384 user8584384    6 年前

    硒是我一直在寻找的包装。但phantomJS有无头格式,这正是我想要的。

    不过,我认为有更好的方法从网站数据库中获取信息,而不是将其连接起来。