html调整下拉菜单,用Python改变HTML中下拉菜单的值

我在做拉网练习。我想得到欧洲的汽车销售数据,然后准备一些数据。

因此我发现http://carsalesbase.com/european-car-sales-data/是一个非常好的数据源。

我设法得到了一个特定制造商的特定车辆的销售数据。如果我修改了URL,我还可以访问多辆车的销售号码,可能还有多个制造商。在

这是我的代码:import requests

from bs4 import BeautifulSoup as bs

import numpy as np

import matplotlib.pyplot as plt

car_type=0

car_spec=['ford-focus','ford-fiesta','ford-ecosport']

my_url='http://carsalesbase.com/european-car-sales-

data/ford/'+car_spec[car_type]+'/'

page = requests.get(my_url)

soup = bs(page.content, 'html.parser')

t=soup.find("table")

rows=t.find_all('td')

我可以访问三辆福特汽车的销售数据。在

不过,我想迭代每个制造商的每辆车。

Carsalesbase为此提供了两个下拉菜单。

一个是给制造商的。我已经从菜单中读取了所有可能的值。

这是“值/文本”对:

^{pr2}$

第二个下拉列表是针对汽车本身的。只要在第一个菜单中没有选择汽车品牌,此选项只包含默认值。在第一个下拉列表中选择制造商后,第二个下拉列表将填充此制造商的所有汽车。

我想做的是编程填充第一个下拉菜单,这样我就可以读出第二个菜单了。在

在那之后,我相信我可以通过这个http方案访问所有的销售数据:

我在网络标签中的chrome开发工具中观察到了这一点。请注意,“品牌选项=17”对应于阿尔法罗密欧,它与我的手动输入相匹配。在

我想我缺少的是如何用程序来填充下拉菜单。在

有人能帮忙吗?在

ps:我读过关于Selenium的文章,它似乎是一个合适的工具,但是我不喜欢当你使用它的时候浏览器会打开。一定有更简单的方法。在

谢谢!在

附加:

经过一番研究,我发现不管怎样,你都可以用我正在使用的请求包来完成。这似乎是html中的相关部分:

role="search">

Select Brand

GroupAlfa Romeo

Alpina ... Volkswagen

Volvo

Select Model

但还是不知道该怎么填。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值