社区首页 >问答首页 >使用python填写在线表单(下拉列表)

使用python填写在线表单(下拉列表)
EN

Stack Overflow用户
提问于 2019-03-06 15:59:06
回答 2查看 654关注 0票数 0

如何使用python (最好是requests库)填写在线表单?在http://carsalesbase.com/european-car-sales-data/alfa-romeo/alfa-romeo-giulia/网站上

总共有四种形式。其中三个看起来大同小异。我想填上这三个中的一个。它是一个具有两个下拉菜单的表单。

代码语言:javascript
代码运行次数:0
复制
<form action="http://carsalesbase.com/" class="search-form" method="get" role="search">

<input class="" id="hide-value" name="hide-value" type="hidden" value="1"/>

<select class="kelas1" id="brand-option" name="brand-option">
<option value="0">Select Brand</option>
<option value="82"> Group</option> <option value="17">Alfa Romeo</option> <option value="1">Alpina</option> <option value="249">Alpine</option> <option value="2">Aston Martin</option> <option value="67">Audi</option> <option value="68">Bentley</option> <option value="4">BMW</option> <option value="259">Borgward</option> <option value="8">Brilliance</option> <option value="69">Bugatti</option> <option value="27">Cadillac</option> <option value="75">Caterham</option> <option value="29">Chevrolet USA</option> <option value="28">Chevrolet-Daewoo</option> <option value="13">Chrysler</option> <option value="48">Citroën</option> <option value="54">Dacia</option> <option value="63">Daihatsu</option> <option value="14">Dodge</option> <option value="12">DR Motor</option> <option value="160">DS</option> <option value="18">Ferrari</option> <option value="19">Fiat</option> <option value="87">Fisker </option> <option value="24">Ford</option> <option value="33">Great Wall</option> <option value="34">Honda</option> <option value="30">Hummer</option> <option value="35">Hyundai</option> <option value="51">Infiniti</option> <option value="89">Isuzu</option> <option value="60">Jaguar</option> <option value="15">Jeep</option> <option value="36">Kia</option> <option value="3">Lada</option> <option value="70">Lamborghini</option> <option value="20">Lancia</option> <option value="23">Lancia-Chrysler</option> <option value="61">Land Rover</option> <option value="85">Landwind</option> <option value="64">Lexus</option> <option value="45">Lotus</option> <option value="83">Mahindra</option> <option value="21">Maserati</option> <option value="78">Maybach</option> <option value="40">Mazda</option> <option value="88">McLaren</option> <option value="9">Mercedes-Benz</option> <option value="41">MG</option> <option value="5">Mini</option> <option value="44">Mitsubishi</option> <option value="84">Morgan</option> <option value="52">Nissan</option> <option value="31">Opel/Vauxhall</option> <option value="47">Perodua</option> <option value="49">Peugeot</option> <option value="71">Porsche</option> <option value="46">Proton</option> <option value="91">Qoros</option> <option value="55">Renault</option> <option value="6">Rolls Royce</option> <option value="42">Rover</option> <option value="58">Saab</option> <option value="90">SAIC MG</option> <option value="72">Seat</option> <option value="73">Skoda</option> <option value="10">Smart</option> <option value="38">SSangYong</option> <option value="56">Subaru</option> <option value="57">Suzuki</option> <option value="62">Tata</option> <option value="86">Tesla</option> <option value="65">Toyota</option> <option value="74">Volkswagen</option> <option value="26">Volvo</option>
</select>
<select class="kelas1" id="model-option" name="model-option">
<option value="0">Select Model</option>
</select>
<input name="css-go" type="submit" value="Go"/>
</form>

我找不到任何好的资源来解释如何做到这一点:

谁能帮上忙?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-03-08 07:47:15

您不能单击requests库中的内容,但您可以通过模拟提交表单后的HTTP请求来获取数据。

使用Chrome网络工具或Fiddler分析您的浏览器在提交表单时发送到服务器的所有请求。在this case中,当提交一个汽车品牌为特斯拉、车型为model X的表单时,我们可以看到请求的方法,其类型为GET、基URL和所需的参数。我们可以使用这些信息来模拟一个网页表单提交,并以这种方式获取数据:

代码语言:javascript
代码运行次数:0
复制
import requests

params = {
    "hide-value": 1,
    "brand-option": 86,
    "model-option": 2129,
    "css-go": "Go"
}
html = requests.get("http://carsalesbase.com/", params=params).text
print(html)
票数 0
EN

Stack Overflow用户

发布于 2019-03-08 08:08:51

我会使用selenium,它可以让你手动编写作为用户要做的事情。

Here's描述了如何在网页上选择元素。

This answer解释了如何从下拉列表中选择选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55027309

复制
相关文章
python3 TypeError: a
运行telnetlib的时候报错:TypeError: a bytes-like object is required, not ‘str’,原因是因为python2和python3的版本的差异。 在python2中可正常运行,而python3最重要的新特性也是对文本和二进制数据做了更清晰的区分。文本用unicode编码,为str类型,二进制数据则为bytes类型。
py3study
2020/01/03
1.1K0
Mac 安装Python3
Python 2.7.10 (default, Jul 15 2017, 17:16:57) 
星宇大前端
2019/01/15
2K0
Pygraphviz
代码越来越复杂,为了理清架构,需要搞清楚现有代码业务逻辑,没有很顺手的工具,简单写写学习一下。
vanguard
2020/12/30
5750
python3 调用heapq库 时遭遇 "TypeError: unorderable types"
同样的代码在LeetCode上提交,在 python3解释器 下报错,换成 python2解释器 下却好好的:
JNingWei
2018/09/27
7550
python3 调用heapq库 时遭遇 "TypeError: unorderable types"
mac python3 安装parami
$ git clone https://github.com/paramiko/paramiko.git
py3study
2020/01/03
4740
mac> python3 安装Djang
说明:mac系统自带了python2.x (在/System/Library/Frameworks/Python.Frameworks/Version/2.x/...)
py3study
2020/01/03
4990
安装python3(mac、使用brew
其中在最后一行/usr/local/Cellar/python/3.6.5这个便是使用brew安装python3的目录
py3study
2020/01/13
3.1K0
mac系统安装pycharm_mac下载python3
pycharm 是一款针对python开发的优秀的IDE, 以下是针对其在mac上的开发配置使用
全栈程序员站长
2022/09/28
5200
PyGraphviz 安装使用
PyGraphviz 对于图、点和边的设置,如颜色、样式、形状等属性,分别提供有 graph_attr、node_attr 和 edge_attr 属性设置函数。
zhipingChen
2018/09/13
2.2K0
PyGraphviz 安装使用
基础服务系列-Mac 安装Python3
前言 本例采用brew安装。未安装brew,参考Mac 安装Brew。 安装步骤 search brew search python3 ==> Formulae boost-python3 python3 ✔ python@3 ✔ python@3.8 If you meant "python3" specifically: It was migra
用户2146693
2021/12/28
3200
基础服务系列-Mac 安装Python3
mac安装虚拟环境python3
Virtaulenvwrapper是virtualenv的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。
新人小试
2020/03/31
5980
python3搞系统里头之Mac篇
mac系统自带python2环境, 但现在一般使用的都是python3, 而且python2在2020.1.1以后不会再进行维护了, 所以安装个python3还是很有必要的
不止于python
2022/05/31
3140
python3搞系统里头之Mac篇
Mac下Python3安装及基于Idea开发
本篇文章带大家基于Mac OS操作系统,下载、安装Python环境,并基于Idea编写第一个Demo。
程序新视界
2023/04/09
1.1K0
Mac下Python3安装及基于Idea开发
MAC os :LightGBM Installation Error in MacOS with Anaconda Python3
macos 报错 OSError: dlopen(/Users/yanerrol/opt/anaconda3/envs/py366/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /Users/yanerrol/opt/anaconda3/envs/py366/lib/python3.6
AI拉呱
2021/03/04
1.5K0
linux下运行python3出现TypeError: a bytes-like object is required, not 'str'
 以上代码用python3运行后,出现TypeError: a bytes-like object is required, not 'str'
逆向小白
2018/09/12
13.8K0
linux下运行python3出现TypeError: a bytes-like object is required, not 'str'
mac os+selenium2+chrome驱动+python3
mac os 10.11.5 mac自带python2.7,自己下载了python3.5,pip list查看系统中的安装包,本人电脑中已经安装了pip和setuptools,若未安装,请先使用
全栈程序员站长
2022/09/07
4710
Mac上最简单配置python3开发环
网上有使用pyenv方式安装python3以实现与系统的python版本共存而不冲突,个人觉得其实没有必要,我们其实可以单独运行python3。 首先我们还是需要先安装python3,这里使用homebrew安装,方便快捷好管理,棒棒哒!
py3study
2020/01/05
1.3K0
Mac下安装Python3、pip、ipython的方法
1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 Xcode command line tool 1.2.1 打开命令行terminal工具 control + space 输入terminal 回车 1.2.2 安装Xcode command line tool xcode-select --install 2 安装套件管理工具 Homebrew 2.1 安装 Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw
Python疯子
2018/09/06
1.7K0
python3在pycharm中为什么导入random模块不能用? TypeError: ‘module’ object is not callable…
新手学python求大神指导,也用sys导入了random.py的路径,仍然不行。
全栈程序员站长
2022/07/07
1.5K0
Django Models UML
Generate a class diagram based on GraphViz(pygraphviz) and django django-extensions
vanguard
2020/12/09
8260

相似问题

Python3,可除以3,typeError

12

Python3: TypeError:“TypeError”对象不可订阅

11

安装PyGraphviz时出错(Mac、Anaconda)

40

PySide & Python3: TypeError on QAction

10

Python3 Runserver TypeError {newbie}

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档